home *** CD-ROM | disk | FTP | other *** search
- unit BorDebug;
- {
- This set of API's facilitates the reading of debug information
- in *.TDS, *.EXE, and *.DLL files, as produced by the Borland
- 32 bit compilers.
-
- Written by Hallvard Vassbotn (hallvard@balder.no), March 1999.
-
- Acknowledgements:
- * Based on C header file written by Keimpe Bronkhorst.
- Note that the original comments have not been copied into this unit.
- Use the original Bordebug.h as documentation.
- * Initial version based on Roy Nelson's version (created with Dr Bob's HeadConv)
- * Thanks to Andre v.d Merwe for constructive critique and good ideas.
-
- History:
- 20.03.99 HV Created
- 29.03.99 HV Added types, conditional delayloading using HVDll (define DYNLINK_BORDEBUG)
- 29.03.99 HV Made it D4 compatible,
- Fixed TTypeKind, TTypeIndex, BorDebugSrcModuleSourceRanges
- 30.03.99 HV Changed S_XXXX to BORDEBUG_S_XXXX
- Changed LF_XXXX to BORDEBUG_LF_XXXX
- Added BORDEBUG_LF_WSTRING
- Updated parameter names to better match Bordebug.h
- Added some extra functionality, controlled by DEFINE BORDEB_EXTRAS
- Compiles in D2, D3 and D4
- 06.04.99 HV Added BorDebugUnmangle API
- Added BORDEBUG_UM_ constants
- Added TBorDebugUmKind
- Made constants use 8 hex digits
- Added BORDEBUG_XXX_INVALID_X constants
- Some minor parameter name changes
- Made all previous range-types DWORDs
- 08.04.99 HV Added the TCrackedXXX types and the CrackXXX functions to
- simplify the interpretation of the bit-encoded variable
- types TTypePointerAttr, TCompileSymbolFlags and TClassMemberAttrib
- 15.04.99 HV Made TBorDebugUmKind into a typed DWORD
- 18.04.99 HV Added missing BORDEBUG_S_OPTVAR32, BORDEBUG_S_PROCRET32 and
- BORDEBUG_S_SAVREGS32 constants.
- Made many types from 0..High(DWORD) and DWORD into Longints
- to allow for loops like: 'for Index := 0 to Count-1 do'
- 23.09.00 HV REAL48 renamed TREAL48 and changed from System.Real/Real48 to Double
-
- }
- interface
-
- {.$DEFINE DYNLINK_BORDEBUG} // Remove . if you want to use HVDll for linking
- {$DEFINE BORDEB_EXTRAS} // Remove DEFINE if you /don't/ want the extra functionality
-
- {$IFNDEF WIN32}
- >>> Sorry, BorDebug.DLL is designed for 32-bit platforms only! <<<
- {$ENDIF}
-
- uses
- {$IFDEF BORDEB_EXTRAS}
- SysUtils,
- {$ENDIF BORDEB_EXTRAS}
- {$IFDEF DYNLINK_BORDEBUG}
- HVDll,
- {$ENDIF DYNLINK_BORDEBUG}
- Windows
- ;
-
- // We need to have all enumerations occupy a DWORD, i.e. make them 4 bytes:
- {$MINENUMSIZE 4}
-
- // The different kind of subSections these API's recognize
- const
- BORDEBUG_SSTMODULE = $00000120;
- BORDEBUG_SSTALIGNSYM = $00000125;
- BORDEBUG_SSTSRCMODULE = $00000127;
- BORDEBUG_SSTGLOBALSYM = $00000129;
- BORDEBUG_SSTGLOBALPUB = $0000012A; // Treated as sstGlobalSym
- BORDEBUG_SSTGLOBALTYPES = $0000012B;
- BORDEBUG_SSTNAMES = $00000130;
- BORDEBUG_SSTBROWSE = $00000131;
- BORDEBUG_SSTINVALID = DWORD($FFFFFFFF);
-
- // The different kinds of symbols
- const
- BORDEBUG_S_COMPILE = $00000001;
- BORDEBUG_S_REGISTER = $00000002;
- BORDEBUG_S_CONST = $00000003;
- BORDEBUG_S_UDT = $00000004;
- BORDEBUG_S_SSEARCH = $00000005;
- BORDEBUG_S_END = $00000006;
- BORDEBUG_S_SKIP = $00000007;
- BORDEBUG_S_CVRESERVE = $00000008;
- BORDEBUG_S_OBJNAME = $00000009;
- BORDEBUG_S_GPROCREF = $00000020;
- BORDEBUG_S_GDATAREF = $00000021;
- BORDEBUG_S_EDATA = $00000022;
- BORDEBUG_S_EPROC = $00000023;
- BORDEBUG_S_USES = $00000024;
- BORDEBUG_S_NAMESPACE = $00000025;
- BORDEBUG_S_USING = $00000026;
- BORDEBUG_S_PCONSTANT = $00000027;
- BORDEBUG_S_BPREL32 = $00000200;
- BORDEBUG_S_LDATA32 = $00000201;
- BORDEBUG_S_GDATA32 = $00000202;
- BORDEBUG_S_PUB32 = $00000203;
- BORDEBUG_S_LPROC32 = $00000204;
- BORDEBUG_S_GPROC32 = $00000205;
- BORDEBUG_S_THUNK32 = $00000206;
- BORDEBUG_S_BLOCK32 = $00000207;
- BORDEBUG_S_WITH32 = $00000208;
- BORDEBUG_S_LABEL32 = $00000209;
- BORDEBUG_S_CEXMODEL32 = $0000020A;
- BORDEBUG_S_VFTPATH32 = $0000020B;
- BORDEBUG_S_ENTRY32 = $00000210;
- BORDEBUG_S_OPTVAR32 = $00000211;
- BORDEBUG_S_PROCRET32 = $00000212;
- BORDEBUG_S_SAVREGS32 = $00000213;
- BORDEBUG_S_SLINK32 = $00000230;
- BORDEBUG_S_INVALID = DWORD($FFFFFFFF);
-
- // The different kind of types
- const
- // BORDEBUG_leaf000s
- BORDEBUG_LF_STARTYP = $00000000;
- BORDEBUG_LF_MODIFIER = $00000001;
- BORDEBUG_LF_POINTER = $00000002;
- BORDEBUG_LF_ARRAY = $00000003;
- BORDEBUG_LF_CLASS = $00000004;
- BORDEBUG_LF_STRUCT = $00000005;
- BORDEBUG_LF_UNION = $00000006;
- BORDEBUG_LF_ENUM = $00000007;
- BORDEBUG_LF_PROCEDURE = $00000008;
- BORDEBUG_LF_MFUNCTION = $00000009;
- BORDEBUG_LF_VTSHAPE = $0000000A;
- BORDEBUG_LF_COBOL0 = $0000000B;
- BORDEBUG_LF_COBOL1 = $0000000C;
- BORDEBUG_LF_BARRAY = $0000000D;
- BORDEBUG_LF_LABEL = $0000000E;
- BORDEBUG_LF_NULL = $0000000F;
- BORDEBUG_LF_NOTTRANS = $00000010;
- BORDEBUG_LF_DIMARRAY = $00000011;
- BORDEBUG_LF_VFTPATH = $00000012;
- BORDEBUG_LF_SET = $00000030;
- BORDEBUG_LF_SUBRANGE = $00000031;
- BORDEBUG_LF_PARRAY = $00000032;
- BORDEBUG_LF_PSTRING = $00000033;
- BORDEBUG_LF_CLOSURE = $00000034;
- BORDEBUG_LF_PROPERTY = $00000035;
- BORDEBUG_LF_LSTRING = $00000036;
- BORDEBUG_LF_VARIANT = $00000037;
- BORDEBUG_LF_CLASSREF = $00000038;
- BORDEBUG_LF_WSTRING = $00000039;
- BORDEBUG_LF_UNKNOWN = $000000EF;
- BORDEBUG_LF_INVALID_0 = DWORD($FFFFFFF0);
-
- const
- // BORDEBUG_leaf200s
- BORDEBUG_LF_SKIP = $00000200;
- BORDEBUG_LF_ARGLIST = $00000201;
- BORDEBUG_LF_DEFARG = $00000202;
- BORDEBUG_LF_LIST = $00000203;
- BORDEBUG_LF_FIELDLIST = $00000204;
- BORDEBUG_LF_DERIVED = $00000205;
- BORDEBUG_LF_BITFIELD = $00000206;
- BORDEBUG_LF_METHODLIST = $00000207;
- BORDEBUG_LF_DIMCONU = $00000208;
- BORDEBUG_LF_DIMCONLU = $00000209;
- BORDEBUG_LF_DIMVARU = $0000020A;
- BORDEBUG_LF_DIMVARLU = $0000020B;
- BORDEBUG_LF_REFSYM = $0000020C;
- BORDEBUG_LF_INVALID_2 = DWORD($FFFFFFF2);
-
- const
- // BORDEBUG_leaf400s
- BORDEBUG_LF_BCLASS = $00000400;
- BORDEBUG_LF_VBCLASS = $00000401;
- BORDEBUG_LF_IVBCLASS = $00000402;
- BORDEBUG_LF_ENUMERATE = $00000403;
- BORDEBUG_LF_FRIENDFCN = $00000404;
- BORDEBUG_LF_INDEX = $00000405;
- BORDEBUG_LF_MEMBER = $00000406;
- BORDEBUG_LF_STMEMBER = $00000407;
- BORDEBUG_LF_METHOD = $00000408;
- BORDEBUG_LF_NESTTYPE = $00000409;
- BORDEBUG_LF_VFUNCTAB = $0000040A;
- BORDEBUG_LF_FRIENDCLS = $0000040B;
- BORDEBUG_LF_INVALID_4 = DWORD($FFFFFFF4);
-
- const
- // BORDEBUG_leaf800s
- BORDEBUG_LF_CHAR = $00008000;
- BORDEBUG_LF_SHORT = $00008001;
- BORDEBUG_LF_USHORT = $00008002;
- BORDEBUG_LF_LONG = $00008003;
- BORDEBUG_LF_ULONG = $00008004;
- BORDEBUG_LF_REAL32 = $00008005;
- BORDEBUG_LF_REAL64 = $00008006;
- BORDEBUG_LF_REAL80 = $00008007;
- BORDEBUG_LF_REAL128 = $00008008;
- BORDEBUG_LF_QUADWORD = $00008009;
- BORDEBUG_LF_UQUADWORD = $0000800A;
- BORDEBUG_LF_REAL48 = $0000800B;
- BORDEBUG_LF_INVALID_8 = DWORD($FFFFFFF8);
-
- const
- // BORDEBUG_leaf900s
- BORDEBUG_LF_RAWBITS = $00009000;
- BORDEBUG_LF_INVALID_9 = DWORD($FFFFFFF9);
-
- // Name unmangling support
- const
- // The kind of symbol.
- BORDEBUG_UM_UNKNOWN = $00000000;
-
- BORDEBUG_UM_FUNCTION = $00000001;
- BORDEBUG_UM_CONSTRUCTOR = $00000002;
- BORDEBUG_UM_DESTRUCTOR = $00000003;
- BORDEBUG_UM_OPERATOR = $00000004;
- BORDEBUG_UM_CONVERSION = $00000005;
-
- BORDEBUG_UM_DATA = $00000006;
- BORDEBUG_UM_THUNK = $00000007;
- BORDEBUG_UM_TPDSC = $00000008;
- BORDEBUG_UM_VTABLE = $00000009;
- BORDEBUG_UM_VRDF_THUNK = $0000000A;
-
- BORDEBUG_UM_KINDMASK = $000000FF;
-
- // Modifier (is it a member; template?).
- BORDEBUG_UM_QUALIFIED = $00000100;
- BORDEBUG_UM_TEMPLATE = $00000200;
-
- BORDEBUG_UM_VIRDEF_FLAG = $00000400;
- BORDEBUG_UM_FRIEND_LIST = $00000800;
- BORDEBUG_UM_CTCH_HNDL_TBL = $00001000;
- BORDEBUG_UM_OBJ_DEST_TBL = $00002000;
- BORDEBUG_UM_THROW_LIST = $00004000;
- BORDEBUG_UM_EXC_CTXT_TBL = $00008000;
- BORDEBUG_UM_LINKER_PROC = $00010000;
- BORDEBUG_UM_SPECMASK = $0001FC00;
-
- BORDEBUG_UM_MODMASK = $00FFFF00;
-
- // Some kind of error occurred.
- BORDEBUG_UM_BUFOVRFLW = $01000000;
- BORDEBUG_UM_HASHTRUNC = $02000000;
- BORDEBUG_UM_ERROR = $04000000;
-
- BORDEBUG_UM_ERRMASK = $7F000000;
-
- // This symbol is not a mangled name.
- BORDEBUG_UM_NOT_MANGLED = $80000000;
-
- type
- TBorDebugUmKind = type DWORD;
-
- // Types defined specifically for the Pascal import unit to make the declarations
- // more self-documenting and type-safe.
- type
- // Note: the BorDebug API uses a Double type to return the value of real48 variables
- TREAL48 = Double;
- QUADWORD = Windows.LONGLONG;
- // There is no unsigned Int64 in Delphi (as of D4/D5)
- UQUADWORD = Windows.LONGLONG;
-
- // TArrayIndex defines the maximum range of an array with 4-byte elements
- TArrayIndex = 0..(High(Integer)-$F) div SizeOf(DWORD);
-
- TFileOffset = type DWORD;
- PFileOffsets = ^TFileOffsets;
- TFileOffsets = array[TArrayIndex] of TFileOffset;
-
- TItemCount = type Longint;
- PItemCounts = ^TItemCounts;
- TItemCounts = array[TArrayIndex] of TItemCount;
-
- TSegmentIndex = type Longint;
- PSegmentIndices = ^TSegmentIndices;
- TSegmentIndices = array[TArrayIndex] of TSegmentIndex;
-
- TSegmentOffset = type DWORD;
- PSegmentOffsets = ^TSegmentOffsets;
- TSegmentOffsets = array[TArrayIndex] of TSegmentOffset;
-
- TLineNumber = type DWORD;
- PLineNumbers = ^TLineNumbers;
- TLineNumbers = array[TArrayIndex] of TLineNumber;
-
- TNameIndex = type Longint;
- PNameIndices = ^TNameIndices;
- TNameIndices = array[TArrayIndex] of TNameIndex;
-
- TRegNameIndex = 1..High(DWORD);
- PRegNameIndices = ^TRegNameIndices;
- TRegNameIndices = array[TArrayIndex] of TRegNameIndex;
-
- TByteCount = type DWORD;
- PByteCounts = ^TByteCounts;
- TByteCounts = array[TArrayIndex] of TByteCount;
-
- TVtblShapeDescriptor = (vtNear, vtFar, vtThin, vtAddrDispl,
- vtMetaClassFarPointer, vtNear32, vtFar32);
- PVtblShapeDescriptors = ^TVtblShapeDescriptors;
- TVtblShapeDescriptors = array[TArrayIndex] of TVtblShapeDescriptor;
-
- TTypeIndex = Longint; // 0..High(DWORD);
- PTypeIndices = ^TTypeIndices;
- TTypeIndices = array[TArrayIndex] of TTypeIndex;
-
- TByteOffset = type DWORD;
- TDebuggingStyle = type DWORD;
- TBDTimeStamp = type DWORD;
- TBitCount = type DWORD;
- TBitPosition = 0..31;
- TEBPOffset = type LongInt;
- TLinkerSegmentIndex = 1..High(DWORD);
- TSourceFileIndex = type Longint;
- TRangeIndex = type Longint;
- TSubSectionIndex = type Longint;
- TModuleIndex = type Longint;
- TOverlayIndex = 0..High(DWORD);
- TLibraryIndex = 0..High(DWORD);
- TSubsectionType = type DWORD; // BORDEBUG_SSTMODULE..BORDEBUG_SSTINVALID;
- TConstValue = type DWORD;
- TFileOffsetDelta = type DWORD;
- TSubsectionDelta = type DWORD;
- TSignature = type DWORD;
- TNotUsedExternCodeFlags = type DWORD;
- TExternIndex = type DWORD;
-
- TRegisterIndex = 0..High(DWORD);
- TBorDebError = (deOk, deUnknownExt, deCannotOpen, deNoDebugInfo,
- deErrorReading, deOutOfMemory);
- TUDTFlag = (udtTag, udtNested);
- TUDTFlags = set of TUDTFlag;
- TSymbolFlags = (efNormal, efTLS);
- TBorDebCookie = record end;
- TBorDebHandle = ^TBorDebCookie;
- const
- InvalidBorDebHandle = TBorDebHandle(nil);
- CodeSegmentExternal = $FFFF;
- type
- TSymbolKind = type DWORD; // BORDEBUG_S_COMPILE..BORDEBUG_S_INVALID;
- TProcessorID = (piIntel8080 , piIntel8086 , piIntel80286, piIntel80386,
- piIntel80486, piIntel80586, piIntel80686, piIntel80786);
- TThunkOrdinal = (toNoType, toAdjustor, toVirtualCall);
- TNearFar = (nfNear, nfRes1, nfRes2, nfRes4, nfFar);
- TSaveReg = (srEBX, srEDI, srESI, srEBP);
- TSaveRegs = set of TSaveReg;
- TTypeKind = type DWORD; // BORDEBUG_LF_STARTYP..BORDEBUG_LF_INVALID_9;
- TTypeModifierAttr = (tmNone, tmConst, tmVolatile);
- TTypePointerAttr = type DWORD;
- TTypePointerValue1 = packed record
- case integer of
- // when Pointer.Mode in [pmReference, pmPointerToDataMember]:
- 0 : (ClassType : TTypeIndex);
- // when Pointer.TypeModifier = ptmSegmentBased:
- 1 : (BasedOnSegment : TSegmentIndex);
- // when Pointer.TypeModifier = ptmSelfBased:
- 2 : (BasedOnType : TTypeIndex);
- end;
- const
- mpDeterminedByClassType = 31;
- mpSingleInheritance = 32;
- mpMultipleInheritance = 33;
- mpClassWithVirtualBases = 34;
- type
- TMemberPointerType = type DWORD; // mpDeterminedByClassType..mpClassWithVirtualBases;
- TTypePointerValue2 = packed record
- case integer of
- // when Pointer.Mode in [pmReference, pmPointerToDataMember]:
- 0 : (MemberPointerType : TMemberPointerType);
- // when Pointer.TypeModifier = ptmSelfBased:
- 1 : (BasedOnType : TNameIndex);
- end;
- TClassFlag = (cfHasConstructor, cfHasOverloadedOperators, cfIsNested,
- cfContainsNested, cfHasOverloadedAssignment,
- cfHasCastingMethods, csIsForwardRef, csHasDestructor);
- TClassFlags = set of TClassFlag;
- const
- ccNearC = 0;
- ccFarC = 1;
- ccNearPascal = 2;
- ccFarPascal = 3;
- ccNearFastCall = 4;
- ccFarFastCall = 5;
- ccPCode = 6;
- ccNearStdCall = 7;
- ccFarStdCall = 8;
- ccNearSysCall = 9;
- ccFarSysCall = 10;
- ccThisCall = 11;
- ccNearFastCall2 = 12; // Same as ccNearFastall = 4
- ccFastThis = $80;
- ccVarArgs = $40;
- ccLowerMask = $3F;
- ccHigherMask = $C0;
- type
- TCallingConvention = $00..$FF;
- const
- Language_C = 0;
- Language_CPP = 1;
- Language_FORTRAN = 2;
- Language_TASM = 3;
- Language_Pascal = 4;
- Language_Basic = 5;
- Language_COBOL = 6;
- Language_Reserved = 255;
- type
- TLanguageID = Language_C..Language_Reserved;
-
- TCompileSymbolFlags = type DWORD;
- TSegmentFlags = (sfDataSegment, sfCodeSegment);
- const
- PascalConstantExported = $10;
- type
- TPascalConstantProperties = type DWORD;
-
- TPropertyFlag = (pfDefault, pfReadIsName, pfWriteIsName);
- TPropertyFlags = set of TPropertyFlag;
- TPropertyIndex = type DWORD;
- TFieldOffset = type Longint;
- TPropertySlot = packed record
- case integer of
- // When pfReadIsName or pfWriteIsName is _not_ in TPropertyFlags:
- 0 : (FieldOffset : TFieldOffset);
- // When pfReadIsName or pfWriteIsName is in TPropertyFlags:
- 1 : (NameIndex : TNameIndex);
- end;
- TInstanceOffset = type DWORD;
- TClassMemberAttrib = type DWORD;
- PClassMemberAttribs = ^TClassMemberAttribs;
- TClassMemberAttribs = array[TArrayIndex] of TClassMemberAttrib;
- TVtabOffset = type Longint;
- PVtabOffsets = ^TVtabOffsets;
- TVtabOffsets = array[TArrayIndex] of TVtabOffset;
-
- // Extra nice-to-have-functionality:
- {$IFDEF BORDEB_EXTRAS}
- type
- TFloatPrecision = (fpcFast, fpcANSI, fpcReserved2, fpcReserved3);
- TFloatPackage = (fpkHardware, fpkEmulator, fpkAltmath, fpkReserved3);
- TAmbientAttr = (aaNear, aaFar, aaHuge, aaRes3, aaRes4, aaRes5, aaRes6, aaRes7);
- TCrackedCompileSymbolFlags = record // bits from TCompileSymbolFlags
- PCodePresent : boolean; // : 0
- FloatPrecision : TFloatPrecision; // : 1-2
- FloatPackage : TFloatPackage; // : 3-4
- AmbientData : TAmbientAttr; // : 5-7
- AmbientCode : TAmbientAttr; // : 8-10
- Mode32 : boolean; // : 11
- CharIsSigned : boolean; // : 12
- Reserverd : 0..$70000; // : 13-31
- end;
-
- TClassMemberProtection = (caNone, caPrivate, caProtected, caPublic);
- TClassMemberProperty = (cpVanilla, cpVirtual, cpStatic, cpFriend,
- cpIntrVirtual, cpPureVirtual, cpPureIntroVirtual,
- cpReserved7);
- TCrackedClassMemberAttrib = record // Bits in TClassMemberAttrib
- ClassMemberProtection : TClassMemberProtection; // :0-1
- ClassMemberProperty : TClassMemberProperty; // :2-4
- Reserved : 0..$8000000; // :5-31
- end;
-
- TPointerTypeModifier = (ptmNear, ptmFar, ptmHuge, ptmSegmentBased,
- ptmValueSegmentBased, ptmSymbolAddressBased,
- ptmSymbolSegmentBased, ptmTypeBased, ptmSelfBased,
- ptmNear32, ptmFar32, ptmReserved11, ptmReserved12,
- ptmReserved13, ptmReserved14, ptmReserved15);
- TPointerMode = (pmPointer, pmReference, pmPointerToDataMember, pmPointerToFunction,
- pmReserved4, pmReserved5, pmReserved6, pmReserved7);
- TCrackedTypePointerAttr = record // bits from TTypePointerAttr
- TypeModifier : TPointerTypeModifier; // :0-4
- Mode : TPointerMode; // :5-7
- IsFlat32 : boolean; // :8
- IsVolatile : boolean; // :9
- IsConst : boolean; // :10
- Reserved : 0..$200000; // :11-31
- end;
- EBorDebugError = class(Exception)
- public
- BorDebError: TBorDebError;
- constructor CreateFromError(BorDebError: TBorDebError);
- end;
-
- function BorDebErrorToString(BorDebError: TBorDebError): string;
-
- function CheckBorDebHandleAndError(
- BorDebHandle: TBorDebHandle;
- BorDebError : TBorDebError)
- : TBorDebHandle;
-
- // Throws exception if something goes wrong:
- function BorDebugRegisterFileEx
- (const FileName : string;
- SkipNames : LongBool;
- CacheNames : LongBool;
- TryTDSFile : boolean)
- : TBorDebHandle;
- function CrackCompilerSymbolFlags(const Flags: TCompileSymbolFlags): TCrackedCompileSymbolFlags;
- function CrackClassMemberAttrib(const Attrib: TClassMemberAttrib): TCrackedClassMemberAttrib;
- function CrackTypePointerAttr(const Attrib: TTypePointerAttr): TCrackedTypePointerAttr;
-
- {$ENDIF BORDEB_EXTRAS}
-
- // Here starts the API-definition, proper:
-
- {$IFDEF DYNLINK_BORDEBUG}
- var
- BorDebugRegisterFile : function
- (const FileName : PChar;
- SkipNames : LongBool;
- CacheNames : LongBool;
- var Failure : TBorDebError)
- : TBorDebHandle; cdecl;
- BorDebugUnregisterFile : procedure
- ( BorDebHandle : TBorDebHandle); cdecl;
- BorDebugSubSectionDirOffset : function
- ( BorDebHandle : TBorDebHandle)
- : TFileOffset; cdecl;
- BorDebugSubSectionCount : function
- ( BorDebHandle : TBorDebHandle)
- : TItemCount; cdecl;
- BorDebugSubSection : procedure
- ( BorDebHandle : TBorDebHandle;
- SubSectionNo : TSubSectionIndex;
- var SubsectionType : TSubsectionType;
- var Module : TModuleIndex;
- var Offset : TFileOffset;
- var Size : TByteCount); cdecl;
- BorDebugModule : procedure
- ( BorDebHandle : TBorDebHandle;
- Offset : TFileOffset;
- var Overlay : TOverlayIndex;
- var LibIndex : TLibraryIndex;
- var Style : TDebuggingStyle;
- var NameIndex : TNameIndex;
- var TimeStamp : TBDTimeStamp;
- var SegmentCount : TItemCount); cdecl;
- BorDebugModuleSegment : procedure
- ( BorDebHandle : TBorDebHandle;
- ModuleOffset : TFileOffset;
- SegmentNo : TSegmentIndex;
- var LinkerSegment : TLinkerSegmentIndex;
- var Offset : TFileOffset;
- var Size : TByteCount;
- var Flags : TSegmentFlags); cdecl;
- BorDebugStartSymbols : procedure
- ( BorDebHandle : TBorDebHandle;
- SubSectionType : TSubsectionType;
- Offset : TFileOffset;
- Size : TByteCount); cdecl;
- BorDebugNextSymbol : procedure
- ( BorDebHandle : TBorDebHandle;
- var Kind : TSymbolKind;
- var SymOffset : TFileOffset;
- var SymLen : TByteCount); cdecl;
- BorDebugDumpBrowserInfo : procedure
- ( BorDebHandle : TBorDebHandle;
- BrowserOffset : TFileOffset); cdecl;
- BorDebugSymbolCOMPILE : procedure
- ( BorDebHandle : TBorDebHandle;
- SymOffset : TFileOffset;
- var Machine : TProcessorID;
- var Language : TLanguageID;
- var Flags : TCompileSymbolFlags;
- CompilerName : PChar;
- MaxNameCount : TByteCount); cdecl;
- BorDebugSymbolREGISTER : procedure
- ( BorDebHandle : TBorDebHandle;
- SymOffset : TFileOffset;
- var TypeIndex : TTypeIndex;
- var Reg : TRegisterIndex;
- var NameIndex : TNameIndex;
- var BrowserOffset : TFileOffset); cdecl;
- BorDebugSymbolCONST : procedure
- ( BorDebHandle : TBorDebHandle;
- SymOffset : TFileOffset;
- var TypeIndex : TTypeIndex;
- var NameIndex : TNameIndex;
- var BrowserOffset : TFileOffset;
- var Value : TConstValue); cdecl;
- BorDebugSymbolUDT : procedure
- ( BorDebHandle : TBorDebHandle;
- SymOffset : TFileOffset;
- var TypeIndex : TTypeIndex;
- var Properties : TUDTFlags;
- var NameIndex : TNameIndex;
- var BrowserOffset : TFileOffset); cdecl;
- BorDebugSymbolSSEARCH : procedure
- ( BorDebHandle : TBorDebHandle;
- SymOffset : TFileOffset;
- var FirstProcSegment : TSegmentIndex;
- var FirstProcOffset : TSegmentOffset;
- var CodeSymCount : TItemCount;
- var DataSymCount : TItemCount;
- var FirstData : TFileOffsetDelta); cdecl;
- BorDebugSymbolOBJNAME : procedure
- ( BorDebHandle : TBorDebHandle;
- SymOffset : TFileOffset;
- var Signature : TSignature;
- var NameIndex : TNameIndex); cdecl;
- BorDebugSymbolGPROCREF : procedure
- ( BorDebHandle : TBorDebHandle;
- SymOffset : TFileOffset;
- var RefSymOffset : TFileOffset;
- var TypeIndex : TTypeIndex;
- var NameIndex : TNameIndex;
- var BrowserOffset : TFileOffset;
- var CodeSegment : TSegmentIndex;
- var CodeOffset : TSegmentOffset); cdecl;
- BorDebugSymbolGDATAREF : procedure
- ( BorDebHandle : TBorDebHandle;
- SymOffset : TFileOffset;
- var RefSymOffset : TFileOffset;
- var TypeIndex : TTypeIndex;
- var NameIndex : TNameIndex;
- var BrowserOffset : TFileOffset;
- var DataSegment : TSegmentIndex;
- var DataOffset : TSegmentOffset); cdecl;
- BorDebugSymbolEDATA : procedure
- ( BorDebHandle : TBorDebHandle;
- SymOffset : TFileOffset;
- var TypeIndex : TTypeIndex;
- var NameIndex : TNameIndex;
- var ExternIndex : TExternIndex;
- var Flags : TSymbolFlags;
- var BrowserOffset : TFileOffset); cdecl;
- BorDebugSymbolEPROC : procedure
- ( BorDebHandle : TBorDebHandle;
- SymOffset : TFileOffset;
- var TypeIndex : TTypeIndex;
- var NameIndex : TNameIndex;
- var ExternIndex : TExternIndex;
- var Flags : TSymbolFlags;
- var BrowserOffset : TFileOffset); cdecl;
- BorDebugSymbolUSES : function
- ( BorDebHandle : TBorDebHandle;
- SymOffset : TFileOffset;
- NameCount : TItemCount;
- NameIndices : PNameIndices)
- : TItemCount; cdecl;
- BorDebugSymbolNAMESPACE : function
- ( BorDebHandle : TBorDebHandle;
- SymOffset : TFileOffset;
- UsingCount : TItemCount;
- var NameIndex : TNameIndex;
- var BrowserOffset : TFileOffset;
- UsingIndices : PNameIndices)
- : TItemCount; cdecl;
- BorDebugSymbolUSING : function
- ( BorDebHandle : TBorDebHandle;
- SymOffset : TFileOffset;
- NameCount : TItemCount;
- NameIndices : PNameIndices)
- : TItemCount; cdecl;
- BorDebugSymbolPCONSTANT : function
- ( BorDebHandle : TBorDebHandle;
- SymOffset : TFileOffset;
- var TypeIndex : TTypeIndex;
- var NameIndex : TNameIndex;
- var Properties : TPascalConstantProperties;
- var BrowserOffset : TFileOffset;
- ValueMaxLen : TByteCount;
- Value : PChar)
- : TByteCount; cdecl;
- BorDebugSymbolBPREL32 : procedure
- ( BorDebHandle : TBorDebHandle;
- SymOffset : TFileOffset;
- var EBPOffset : TEBPOffset;
- var TypeIndex : TTypeIndex;
- var NameIndex : TNameIndex;
- var BrowserOffset : TFileOffset); cdecl;
- BorDebugSymbolLDATA32 : procedure
- ( BorDebHandle : TBorDebHandle;
- SymOffset : TFileOffset;
- var Offset : TSegmentOffset;
- var Segment : TSegmentIndex;
- var Flags : TSymbolFlags;
- var TypeIndex : TTypeIndex;
- var NameIndex : TNameIndex;
- var BrowserOffset : TFileOffset); cdecl;
- BorDebugSymbolGDATA32 : procedure
- ( BorDebHandle : TBorDebHandle;
- SymOffset : TFileOffset;
- var Offset : TSegmentOffset;
- var Segment : TSegmentIndex;
- var Flags : TSymbolFlags;
- var TypeIndex : TTypeIndex;
- var NameIndex : TNameIndex;
- var BrowserOffset : TFileOffset); cdecl;
- BorDebugSymbolPUB32 : procedure
- ( BorDebHandle : TBorDebHandle;
- SymOffset : TFileOffset;
- var Offset : TSegmentOffset;
- var Segment : TSegmentIndex;
- var Flags : TSymbolFlags;
- var TypeIndex : TTypeIndex;
- var NameIndex : TNameIndex;
- var BrowserOffset : TFileOffset); cdecl;
- BorDebugSymbolLPROC32 : procedure
- ( BorDebHandle : TBorDebHandle;
- SymOffset : TFileOffset;
- var Parent : TSubsectionDelta;
- var End_ : TSubsectionDelta;
- var Next : TSubsectionDelta;
- var CodeLength : TByteCount;
- var DebugStart : TFileOffset;
- var DebugEnd : TFileOffset;
- var Offset : TSegmentOffset;
- var Segment : TSegmentIndex;
- var Flags : DWORD;
- var TypeIndex : TTypeIndex;
- var NameIndex : TNameIndex;
- var BrowserOffset : TFileOffset); cdecl;
- BorDebugSymbolGPROC32 : function
- ( BorDebHandle : TBorDebHandle;
- SymOffset : TFileOffset;
- var Parent : TSubsectionDelta;
- var End_ : TSubsectionDelta;
- var Next : TSubsectionDelta;
- var CodeLength : TByteCount;
- var DebugStart : TFileOffset;
- var DebugEnd : TFileOffset;
- var Offset : TSegmentOffset;
- var Segment : TSegmentIndex;
- var Flags : DWORD;
- var TypeIndex : TTypeIndex;
- var NameIndex : TNameIndex;
- var BrowserOffset : TFileOffset;
- LinkName : PChar;
- MaxLinkName : TByteCount)
- : TByteCount; cdecl;
- BorDebugSymbolTHUNK32 : procedure
- ( BorDebHandle : TBorDebHandle;
- SymOffset : TFileOffset;
- var Parent : TSubsectionDelta;
- var End_ : TSubsectionDelta;
- var Next : TSubsectionDelta;
- var Offset : TSegmentOffset;
- var Segment : TSegmentIndex;
- var CodeLength : TByteCount;
- var Ordinal : TThunkOrdinal;
- var NameIndex : TNameIndex;
- var Delta : TByteCount); cdecl;
- BorDebugSymbolBLOCK32 : procedure
- ( BorDebHandle : TBorDebHandle;
- SymOffset : TFileOffset;
- var Parent : TSubsectionDelta;
- var End_ : TSubsectionDelta;
- var CodeLength : TByteCount;
- var Offset : TSegmentOffset;
- var Segment : TSegmentIndex;
- var NameIndex : TNameIndex); cdecl;
- BorDebugSymbolWITH32 : procedure
- ( BorDebHandle : TBorDebHandle;
- SymOffset : TFileOffset;
- var Parent : TSubsectionDelta;
- var CodeLength : TByteCount;
- var Offset : TSegmentOffset;
- var Segment : TSegmentIndex;
- var Flags : DWORD;
- var TypeIndex : TTypeIndex;
- var NameIndex : TNameIndex;
- var VarOffset : TByteOffset); cdecl;
- BorDebugSymbolLABEL32 : procedure
- ( BorDebHandle : TBorDebHandle;
- SymOffset : TFileOffset;
- var Offset : TSegmentOffset;
- var Segment : TSegmentIndex;
- var NearFar : TNearFar;
- var NameIndex : TNameIndex); cdecl;
- BorDebugSymbolENTRY32 : procedure
- ( BorDebHandle : TBorDebHandle;
- SymOffset : TFileOffset;
- var Offset : TSegmentOffset;
- var Segment : TSegmentIndex); cdecl;
- BorDebugSymbolOPTVAR32 : function
- ( BorDebHandle : TBorDebHandle;
- SymOffset : TFileOffset;
- MaxEntries : TItemCount;
- StartEntries : PSegmentOffsets; // or nil
- LengthEntries : PByteCounts; // or nil
- RegNameEntries : PRegNameIndices) // or nil
- : TItemCount; cdecl;
- BorDebugSymbolPROCRET32 : procedure
- ( BorDebHandle : TBorDebHandle;
- SymOffset : TFileOffset;
- var Offset : TSegmentOffset;
- var Length : TByteCount); cdecl;
- BorDebugSymbolSAVREGS32 : procedure
- ( BorDebHandle : TBorDebHandle;
- SymOffset : TFileOffset;
- var Mask : TSaveRegs;
- var EBPOffset : TEBPOffset); cdecl;
- BorDebugSymbolSLINK32 : function
- ( BorDebHandle : TBorDebHandle;
- SymOffset : TFileOffset): TEBPOffset; cdecl;
- BorDebugSrcModule : procedure
- ( BorDebHandle : TBorDebHandle;
- Offset : TFileOffset;
- var RangeCount : TItemCount;
- var SourceCount : TItemCount); cdecl;
- BorDebugSrcModuleRanges : procedure
- ( BorDebHandle : TBorDebHandle;
- Offset : TFileOffset;
- Segments : PSegmentIndices;
- SegmentStarts : PSegmentOffsets;
- SegmentEnds : PSegmentOffsets); cdecl;
- BorDebugSrcModuleSources : procedure
- ( BorDebHandle : TBorDebHandle;
- Offset : TFileOffset;
- SourceOffsets : PFileOffsets;
- Names : PNameIndices;
- RangeCounts : PItemCounts); cdecl;
- BorDebugSrcModuleSourceRanges : procedure
- ( BorDebHandle : TBorDebHandle;
- Offset : TFileOffset;
- Source : TSourceFileIndex;
- Segments : PSegmentIndices;
- SegmentStarts : PSegmentOffsets;
- SegmentEnds : PSegmentOffsets;
- LineNumberCounts : PItemCounts); cdecl;
- BorDebugSrcModuleLineNumbers : procedure
- ( BorDebHandle : TBorDebHandle;
- Offset : TFileOffset;
- Source : TSourceFileIndex;
- Range : TRangeIndex;
- LineNumbers : PLineNumbers;
- LineOffsets : PSegmentOffsets); cdecl;
- BorDebugGlobalSym : procedure
- ( BorDebHandle : TBorDebHandle;
- Offset : TFileOffset;
- var SymHashFunction : TNameIndex;
- var AddrHashFunction : TNameIndex;
- var SymTableBytes : TByteCount;
- var SymHashTableBytes : TByteCount;
- var AddrHashTableBytes : TByteCount;
- var TotalUDTs : TItemCount;
- var TotalOtherSyms : TItemCount;
- var TotalSymbols : TItemCount;
- var TotalNameSpaces : TItemCount); cdecl;
- BorDebugGlobalTypes : procedure
- ( BorDebHandle : TBorDebHandle;
- var Signature : TSignature;
- var TotalTypes : TItemCount); cdecl;
- BorDebugTypeFromIndex : procedure
- ( BorDebHandle : TBorDebHandle;
- TypeIndex : TTypeIndex;
- var TypeOffset : TFileOffset;
- var Length : TByteCount;
- var TypeKind : TTypeKind); cdecl;
- BorDebugTypeFromOffset : procedure
- ( BorDebHandle : TBorDebHandle;
- TypeOffset : TFileOffset;
- var Length : TByteCount;
- var TypeKind : TTypeKind); cdecl;
- BorDebugTypeMODIFIER : procedure
- ( BorDebHandle : TBorDebHandle;
- TypeOffset : TFileOffset;
- var Attributes : TTypeModifierAttr;
- var TypeIndex : TTypeIndex); cdecl;
- BorDebugTypePOINTER : procedure
- ( BorDebHandle : TBorDebHandle;
- TypeOffset : TFileOffset;
- var Attributes : TTypePointerAttr;
- var TypeIndex : TTypeIndex;
- var Value1 : TTypePointerValue1;
- var Value2 : TTypePointerValue2); cdecl;
- BorDebugTypeARRAY : procedure
- ( BorDebHandle : TBorDebHandle;
- TypeOffset : TFileOffset;
- var ElementType : TTypeIndex;
- var IndexType : TTypeIndex;
- var NameIndex : TNameIndex;
- var Size : TByteCount;
- var Elements : TItemCount); cdecl;
- BorDebugTypeCLASS : procedure
- ( BorDebHandle : TBorDebHandle;
- TypeOffset : TFileOffset;
- var FieldCount : TItemCount;
- var FieldList : TTypeIndex;
- var ClassFlags : TClassFlags;
- var ContainingClass : TTypeIndex;
- var DerivationList : TTypeIndex;
- var Vtable : TTypeIndex;
- var NameIndex : TNameIndex;
- var ClassSize : TByteCount); cdecl;
- BorDebugTypeUNION : procedure
- ( BorDebHandle : TBorDebHandle;
- TypeOffset : TFileOffset;
- var FieldCount : TItemCount;
- var FieldList : TTypeIndex;
- var ClassFlags : TClassFlags;
- var ContainingClass : TTypeIndex;
- var NameIndex : TNameIndex;
- var ClassSize : TByteCount); cdecl;
- BorDebugTypeENUM : procedure
- ( BorDebHandle : TBorDebHandle;
- TypeOffset : TFileOffset;
- var MemberCount : TItemCount;
- var UnderlyingType : TTypeIndex;
- var MemberList : TTypeIndex;
- var ContainingClass : TTypeIndex;
- var NameIndex : TNameIndex); cdecl;
- BorDebugTypePROCEDURE : procedure
- ( BorDebHandle : TBorDebHandle;
- TypeOffset : TFileOffset;
- var ReturnType : TTypeIndex;
- var CallingConvention : TCallingConvention;
- var ArgCount : TItemCount;
- var ArgList : TTypeIndex); cdecl;
- BorDebugTypeMFUNCTION : procedure
- ( BorDebHandle : TBorDebHandle;
- TypeOffset : TFileOffset;
- var ReturnType : TTypeIndex;
- var ClassType : TTypeIndex;
- var ThisType : TTypeIndex;
- var CallingConvention : TCallingConvention;
- var ArgCount : TItemCount;
- var ArgList : TTypeIndex;
- var ThisAdjust : TSegmentOffset {?}); cdecl;
- BorDebugTypeVTSHAPE : function
- ( BorDebHandle : TBorDebHandle;
- TypeOffset : TFileOffset;
- MaxCount : TItemCount;
- DescriptorArray : PVtblShapeDescriptors)
- : TItemCount; cdecl;
- BorDebugTypeLABEL : function
- ( BorDebHandle : TBorDebHandle;
- TypeOffset : TFileOffset)
- : TNearFar; cdecl;
- BorDebugTypeSET : procedure
- ( BorDebHandle : TBorDebHandle;
- TypeOffset : TFileOffset;
- var ElemType : TTypeIndex;
- var NameIndex : TNameIndex;
- var LowByte : DWORD;
- var Length : TItemCount); cdecl;
- BorDebugTypeSUBRANGE : procedure
- ( BorDebHandle : TBorDebHandle;
- TypeOffset : TFileOffset;
- var BaseType : TTypeIndex;
- var NameIndex : TNameIndex;
- var LoBound : DWORD;
- var HiBound : DWORD;
- var Size : TByteCount); cdecl;
- BorDebugTypePARRAY : procedure
- ( BorDebHandle : TBorDebHandle;
- TypeOffset : TFileOffset;
- var ElementType : TTypeIndex;
- var IndexType : TTypeIndex;
- var NameIndex : TNameIndex;
- var Size : TByteCount;
- var Elements : TItemCount); cdecl;
- BorDebugTypePSTRING : procedure
- ( BorDebHandle : TBorDebHandle;
- TypeOffset : TFileOffset;
- var ElemType : TTypeIndex;
- var IndexType : TTypeIndex;
- var NameIndex : TNameIndex); cdecl;
- BorDebugTypeCLOSURE : procedure
- ( BorDebHandle : TBorDebHandle;
- TypeOffset : TFileOffset;
- var ReturnType : TTypeIndex;
- var CallingConvention : TCallingConvention;
- var ArgCount : TItemCount;
- var ArgList : TTypeIndex); cdecl;
- BorDebugTypePROPERTY : procedure
- ( BorDebHandle : TBorDebHandle;
- TypeOffset : TFileOffset;
- var TypeIndex : TTypeIndex;
- var Flags : TPropertyFlags;
- var ArrayIndex : TTypeIndex;
- var PropIndex : TPropertyIndex;
- var ReadSlot : TPropertySlot;
- var WriteSlot : TPropertySlot); cdecl;
- BorDebugTypeLSTRING : function
- ( BorDebHandle : TBorDebHandle;
- TypeOffset : TFileOffset)
- : TNameIndex; cdecl;
- BorDebugTypeVARIANT : function
- ( BorDebHandle : TBorDebHandle;
- TypeOffset : TFileOffset)
- : TNameIndex; cdecl;
- BorDebugTypeCLASSREF : procedure
- ( BorDebHandle : TBorDebHandle;
- TypeOffset : TFileOffset;
- var RefType : TTypeIndex;
- var VtShape : TTypeIndex); cdecl;
- BorDebugTypeWSTRING : function
- ( BorDebHandle : TBorDebHandle;
- TypeOffset : TFileOffset)
- : TNameIndex; cdecl;
- BorDebugTypeARGLIST : function
- ( BorDebHandle : TBorDebHandle;
- TypeOffset : TFileOffset;
- MaxTypes : TItemCount;
- TypeArray : PTypeIndices)
- : TItemCount; cdecl;
- BorDebugTypeStartFIELDLIST : procedure
- ( BorDebHandle : TBorDebHandle;
- TypeOffset : TFileOffset); cdecl;
- BorDebugTypeNextFIELDLIST : procedure
- ( BorDebHandle : TBorDebHandle;
- var Kind : TTypeKind;
- var Offset : TFileOffset); cdecl;
- BorDebugTypeDERIVED : function
- ( BorDebHandle : TBorDebHandle;
- TypeOffset : TFileOffset;
- MaxTypes : TItemCount;
- DerivedTypes : PTypeIndices)
- : TItemCount; cdecl;
- BorDebugTypeBITFIELD : procedure
- ( BorDebHandle : TBorDebHandle;
- TypeOffset : TFileOffset;
- var Length : TBitCount;
- var Position : TBitPosition;
- var TypeIndex : TTypeIndex); cdecl;
- BorDebugTypeMETHODLIST : function
- ( BorDebHandle : TBorDebHandle;
- TypeOffset : TFileOffset;
- MaxMethods : TItemCount;
- TypeArray : PTypeIndices;
- AttribArray : PClassMemberAttribs;
- BrowserArray : PFileOffsets;
- VtabOffArray : PVtabOffsets)
- : TItemCount; cdecl;
- BorDebugTypeBCLASS : procedure
- ( BorDebHandle : TBorDebHandle;
- TypeOffset : TFileOffset;
- var BaseType : TTypeIndex;
- var Attrib : TClassMemberAttrib;
- var Offset : TVtabOffset); cdecl;
- BorDebugTypeVBCLASS : procedure
- ( BorDebHandle : TBorDebHandle;
- TypeOffset : TFileOffset;
- var vbType : TTypeIndex;
- var vbpType : TTypeIndex;
- var Attrib : TClassMemberAttrib;
- var VbpOffset : TVtabOffset;
- var Offset : TVtabOffset); cdecl;
- BorDebugTypeIVBCLASS : procedure
- ( BorDebHandle : TBorDebHandle;
- TypeOffset : TFileOffset;
- var vbType : TTypeIndex;
- var vbpType : TTypeIndex;
- var Attrib : TClassMemberAttrib;
- var VbpOffset : TVtabOffset;
- var Offset : TVtabOffset); cdecl;
- BorDebugTypeENUMERATE : procedure
- ( BorDebHandle : TBorDebHandle;
- TypeOffset : TFileOffset;
- var Attrib : DWORD;
- var NameIndex : TNameIndex;
- var BrowserOffset : TFileOffset;
- var Value : DWORD); cdecl;
- BorDebugTypeFRIENDFCN : procedure
- ( BorDebHandle : TBorDebHandle;
- TypeOffset : TFileOffset;
- var TypeIndex : TTypeIndex;
- var NameIndex : TNameIndex); cdecl;
- BorDebugTypeINDEX : function
- ( BorDebHandle : TBorDebHandle;
- TypeOffset : TFileOffset)
- : TTypeIndex; cdecl;
- BorDebugTypeMEMBER : procedure
- ( BorDebHandle : TBorDebHandle;
- TypeOffset : TFileOffset;
- var TypeIndex : TTypeIndex;
- var Attrib : TClassMemberAttrib;
- var NameIndex : TNameIndex;
- var Offset : TInstanceOffset;
- var BrowserOffset : TFileOffset); cdecl;
- BorDebugTypeSTMEMBER : procedure
- ( BorDebHandle : TBorDebHandle;
- TypeOffset : TFileOffset;
- var TypeIndex : TTypeIndex;
- var Attrib : TClassMemberAttrib;
- var NameIndex : TNameIndex;
- var BrowserOffset : TFileOffset); cdecl;
- BorDebugTypeMETHOD : procedure
- ( BorDebHandle : TBorDebHandle;
- TypeOffset : TFileOffset;
- var OverloadedCount : TItemCount;
- var MethodList : TTypeIndex;
- var NameIndex : TNameIndex); cdecl;
- BorDebugTypeNESTTYPE : procedure
- ( BorDebHandle : TBorDebHandle;
- TypeOffset : TFileOffset;
- var TypeIndex : TTypeIndex;
- var NameIndex : TNameIndex;
- var BrowserOffset : TFileOffset); cdecl;
- BorDebugTypeVFUNCTAB : procedure
- ( BorDebHandle : TBorDebHandle;
- TypeOffset : TFileOffset;
- var TypeIndex : TTypeIndex;
- var Offset : TVtabOffset); cdecl;
- BorDebugTypeFRIENDCLS : function
- ( BorDebHandle : TBorDebHandle;
- TypeOffset : TFileOffset)
- : TTypeIndex; cdecl;
- BorDebugTypeCHAR : function
- ( BorDebHandle : TBorDebHandle;
- TypeOffset : TFileOffset)
- : Char; cdecl;
- BorDebugTypeSHORT : function
- ( BorDebHandle : TBorDebHandle;
- TypeOffset : TFileOffset)
- : SmallInt;cdecl;
- BorDebugTypeUSHORT : function
- ( BorDebHandle : TBorDebHandle;
- TypeOffset : TFileOffset)
- : DWORD; cdecl;
- BorDebugTypeLONG : function
- ( BorDebHandle : TBorDebHandle;
- TypeOffset : TFileOffset)
- : LongInt; cdecl;
- BorDebugTypeULONG : function
- ( BorDebHandle : TBorDebHandle;
- TypeOffset : TFileOffset)
- : DWORD; cdecl;
- BorDebugTypeREAL32 : function
- ( BorDebHandle : TBorDebHandle;
- TypeOffset : TFileOffset)
- : Single; cdecl;
- BorDebugTypeREAL64 : function
- ( BorDebHandle : TBorDebHandle;
- TypeOffset : TFileOffset)
- : Double; cdecl;
- BorDebugTypeREAL80 : function
- ( BorDebHandle : TBorDebHandle;
- TypeOffset : TFileOffset)
- : Extended;cdecl;
- BorDebugTypeQUADWORD : function
- ( BorDebHandle : TBorDebHandle;
- TypeOffset : TFileOffset)
- : QUADWORD;cdecl;
- BorDebugTypeUQUADWORD : function
- ( BorDebHandle : TBorDebHandle;
- TypeOffset : TFileOffset)
- : UQUADWORD;cdecl;
- BorDebugTypeREAL48 : function
- ( BorDebHandle : TBorDebHandle;
- TypeOffset : TFileOffset)
- : TREAL48; cdecl;
- BorDebugNamesTotalNames : function
- ( BorDebHandle : TBorDebHandle)
- : TItemCount; cdecl;
- BorDebugNameIndexToUnmangledName: procedure
- ( BorDebHandle : TBorDebHandle;
- NameIndex : TNameIndex;
- Buf : PChar;
- BufLen : TByteCount); cdecl;
- BorDebugNameIndexToName : procedure
- ( BorDebHandle : TBorDebHandle;
- NameIndex : TNameIndex;
- Buf : PChar;
- BufLen : TByteCount); cdecl;
- BorDebugRegIndexToName : procedure
- ( BorDebHandle : TBorDebHandle;
- Reg : TRegNameIndex;
- Buf : PChar;
- BufLen : TByteCount); cdecl;
- BorDebugTypeIndexToString : procedure
- ( BorDebHandle : TBorDebHandle;
- TypeIndex : TTypeIndex;
- Buf : PChar;
- BufLen : TByteCount); cdecl;
- BorDebugUnmangle : function
- ( Src : PChar;
- Dest : PChar;
- MaxLen : TByteCount;
- QualP : PChar; // or nil
- BaseP : PChar; // or nil
- DoArgs : LongBool)
- : TBorDebugUmKind; cdecl;
- var
- BorDebugDLL: TDll; // See HVDll and Delphi Magazine on how to use this
- {$ELSE}
- function BorDebugRegisterFile
- (const FileName : PChar;
- SkipNames : LongBool;
- CacheNames : LongBool;
- var Failure : TBorDebError)
- : TBorDebHandle; cdecl;
- procedure BorDebugUnregisterFile
- ( BorDebHandle : TBorDebHandle); cdecl;
- function BorDebugSubSectionDirOffset
- ( BorDebHandle : TBorDebHandle)
- : TFileOffset; cdecl;
- function BorDebugSubSectionCount
- ( BorDebHandle : TBorDebHandle)
- : TItemCount; cdecl;
- procedure BorDebugSubSection
- ( BorDebHandle : TBorDebHandle;
- SubSectionNo : TSubSectionIndex;
- var SubsectionType : TSubsectionType;
- var Module : TModuleIndex;
- var Offset : TFileOffset;
- var Size : TByteCount); cdecl;
- procedure BorDebugModule
- ( BorDebHandle : TBorDebHandle;
- Offset : TFileOffset;
- var Overlay : TOverlayIndex;
- var LibIndex : TLibraryIndex;
- var Style : TDebuggingStyle;
- var NameIndex : TNameIndex;
- var TimeStamp : TBDTimeStamp;
- var SegmentCount : TItemCount); cdecl;
- procedure BorDebugModuleSegment
- ( BorDebHandle : TBorDebHandle;
- ModuleOffset : TFileOffset;
- SegmentNo : TSegmentIndex;
- var LinkerSegment : TLinkerSegmentIndex;
- var Offset : TFileOffset;
- var Size : TByteCount;
- var Flags : TSegmentFlags); cdecl;
- procedure BorDebugStartSymbols
- ( BorDebHandle : TBorDebHandle;
- SubSectionType : TSubsectionType;
- Offset : TFileOffset;
- Size : TByteCount); cdecl;
- procedure BorDebugNextSymbol
- ( BorDebHandle : TBorDebHandle;
- var Kind : TSymbolKind;
- var SymOffset : TFileOffset;
- var SymLen : TByteCount); cdecl;
- procedure BorDebugDumpBrowserInfo
- ( BorDebHandle : TBorDebHandle;
- BrowserOffset : TFileOffset); cdecl;
- procedure BorDebugSymbolCOMPILE
- ( BorDebHandle : TBorDebHandle;
- SymOffset : TFileOffset;
- var Machine : TProcessorID;
- var Language : TLanguageID;
- var Flags : TCompileSymbolFlags;
- CompilerName : PChar;
- MaxNameCount : TByteCount); cdecl;
- procedure BorDebugSymbolREGISTER
- ( BorDebHandle : TBorDebHandle;
- SymOffset : TFileOffset;
- var TypeIndex : TTypeIndex;
- var Reg : TRegisterIndex;
- var NameIndex : TNameIndex;
- var BrowserOffset : TFileOffset); cdecl;
- procedure BorDebugSymbolCONST
- ( BorDebHandle : TBorDebHandle;
- SymOffset : TFileOffset;
- var TypeIndex : TTypeIndex;
- var NameIndex : TNameIndex;
- var BrowserOffset : TFileOffset;
- var Value : TConstValue); cdecl;
- procedure BorDebugSymbolUDT
- ( BorDebHandle : TBorDebHandle;
- SymOffset : TFileOffset;
- var TypeIndex : TTypeIndex;
- var Properties : TUDTFlags;
- var NameIndex : TNameIndex;
- var BrowserOffset : TFileOffset); cdecl;
- procedure BorDebugSymbolSSEARCH
- ( BorDebHandle : TBorDebHandle;
- SymOffset : TFileOffset;
- var FirstProcSegment : TSegmentIndex;
- var FirstProcOffset : TSegmentOffset;
- var CodeSymCount : TItemCount;
- var DataSymCount : TItemCount;
- var FirstData : TFileOffsetDelta); cdecl;
- procedure BorDebugSymbolOBJNAME
- ( BorDebHandle : TBorDebHandle;
- SymOffset : TFileOffset;
- var Signature : TSignature;
- var NameIndex : TNameIndex); cdecl;
- procedure BorDebugSymbolGPROCREF
- ( BorDebHandle : TBorDebHandle;
- SymOffset : TFileOffset;
- var RefSymOffset : TFileOffset;
- var TypeIndex : TTypeIndex;
- var NameIndex : TNameIndex;
- var BrowserOffset : TFileOffset;
- var CodeSegment : TSegmentIndex;
- var CodeOffset : TSegmentOffset); cdecl;
- procedure BorDebugSymbolGDATAREF
- ( BorDebHandle : TBorDebHandle;
- SymOffset : TFileOffset;
- var RefSymOffset : TFileOffset;
- var TypeIndex : TTypeIndex;
- var NameIndex : TNameIndex;
- var BrowserOffset : TFileOffset;
- var DataSegment : TSegmentIndex;
- var DataOffset : TSegmentOffset); cdecl;
- procedure BorDebugSymbolEDATA
- ( BorDebHandle : TBorDebHandle;
- SymOffset : TFileOffset;
- var TypeIndex : TTypeIndex;
- var NameIndex : TNameIndex;
- var ExternIndex : TExternIndex;
- var Flags : TSymbolFlags;
- var BrowserOffset : TFileOffset); cdecl;
- procedure BorDebugSymbolEPROC
- ( BorDebHandle : TBorDebHandle;
- SymOffset : TFileOffset;
- var TypeIndex : TTypeIndex;
- var NameIndex : TNameIndex;
- var ExternIndex : TExternIndex;
- var Flags : TSymbolFlags;
- var BrowserOffset : TFileOffset); cdecl;
- function BorDebugSymbolUSES
- ( BorDebHandle : TBorDebHandle;
- SymOffset : TFileOffset;
- NameCount : TItemCount;
- NameIndices : PNameIndices)
- : TItemCount; cdecl;
- function BorDebugSymbolNAMESPACE
- ( BorDebHandle : TBorDebHandle;
- SymOffset : TFileOffset;
- UsingCount : TItemCount;
- var NameIndex : TNameIndex;
- var BrowserOffset : TFileOffset;
- UsingIndices : PNameIndices)
- : TItemCount; cdecl;
- function BorDebugSymbolUSING
- ( BorDebHandle : TBorDebHandle;
- SymOffset : TFileOffset;
- NameCount : TItemCount;
- NameIndices : PNameIndices)
- : TItemCount; cdecl;
- function BorDebugSymbolPCONSTANT
- ( BorDebHandle : TBorDebHandle;
- SymOffset : TFileOffset;
- var TypeIndex : TTypeIndex;
- var NameIndex : TNameIndex;
- var Properties : TPascalConstantProperties;
- var BrowserOffset : TFileOffset;
- ValueMaxLen : TByteCount;
- Value : PChar)
- : TByteCount; cdecl;
- procedure BorDebugSymbolBPREL32
- ( BorDebHandle : TBorDebHandle;
- SymOffset : TFileOffset;
- var EBPOffset : TEBPOffset;
- var TypeIndex : TTypeIndex;
- var NameIndex : TNameIndex;
- var BrowserOffset : TFileOffset); cdecl;
- procedure BorDebugSymbolLDATA32
- ( BorDebHandle : TBorDebHandle;
- SymOffset : TFileOffset;
- var Offset : TSegmentOffset;
- var Segment : TSegmentIndex;
- var Flags : TSymbolFlags;
- var TypeIndex : TTypeIndex;
- var NameIndex : TNameIndex;
- var BrowserOffset : TFileOffset); cdecl;
- procedure BorDebugSymbolGDATA32
- ( BorDebHandle : TBorDebHandle;
- SymOffset : TFileOffset;
- var Offset : TSegmentOffset;
- var Segment : TSegmentIndex;
- var Flags : TSymbolFlags;
- var TypeIndex : TTypeIndex;
- var NameIndex : TNameIndex;
- var BrowserOffset : TFileOffset); cdecl;
- procedure BorDebugSymbolPUB32
- ( BorDebHandle : TBorDebHandle;
- SymOffset : TFileOffset;
- var Offset : TSegmentOffset;
- var Segment : TSegmentIndex;
- var Flags : TSymbolFlags;
- var TypeIndex : TTypeIndex;
- var NameIndex : TNameIndex;
- var BrowserOffset : TFileOffset); cdecl;
- procedure BorDebugSymbolLPROC32
- ( BorDebHandle : TBorDebHandle;
- SymOffset : TFileOffset;
- var Parent : TSubsectionDelta;
- var End_ : TSubsectionDelta;
- var Next : TSubsectionDelta;
- var Len : TByteCount;
- var DebugStart : TFileOffset;
- var DebugEnd : TFileOffset;
- var Offset : TSegmentOffset;
- var Segment : TSegmentIndex;
- var Flags : DWORD;
- var TypeIndex : TTypeIndex;
- var NameIndex : TNameIndex;
- var BrowserOffset : TFileOffset); cdecl;
- function BorDebugSymbolGPROC32
- ( BorDebHandle : TBorDebHandle;
- SymOffset : TFileOffset;
- var Parent : TSubsectionDelta;
- var End_ : TSubsectionDelta;
- var Next : TSubsectionDelta;
- var Len : TByteCount;
- var DebugStart : TFileOffset;
- var DebugEnd : TFileOffset;
- var Offset : TSegmentOffset;
- var Segment : TSegmentIndex;
- var Flags : DWORD;
- var TypeIndex : TTypeIndex;
- var NameIndex : TNameIndex;
- var BrowserOffset : TFileOffset;
- LinkName : PChar;
- MaxLinkName : TByteCount)
- : TByteCount; cdecl;
- procedure BorDebugSymbolTHUNK32
- ( BorDebHandle : TBorDebHandle;
- SymOffset : TFileOffset;
- var Parent : TSubsectionDelta;
- var End_ : TSubsectionDelta;
- var Next : TSubsectionDelta;
- var Offset : TSegmentOffset;
- var Segment : TSegmentIndex;
- var Length : TByteCount;
- var Ordinal : TThunkOrdinal;
- var NameIndex : TNameIndex;
- var Delta : TByteCount); cdecl;
- procedure BorDebugSymbolBLOCK32
- ( BorDebHandle : TBorDebHandle;
- SymOffset : TFileOffset;
- var Parent : TSubsectionDelta;
- var End_ : TSubsectionDelta;
- var Length : TByteCount;
- var Offset : TSegmentOffset;
- var Segment : TSegmentIndex;
- var NameIndex : TNameIndex); cdecl;
- procedure BorDebugSymbolWITH32
- ( BorDebHandle : TBorDebHandle;
- SymOffset : TFileOffset;
- var Parent : TSubsectionDelta;
- var Length : TByteCount;
- var Offset : TSegmentOffset;
- var Segment : TSegmentIndex;
- var Flags : DWORD;
- var TypeIndex : TTypeIndex;
- var NameIndex : TNameIndex;
- var VarOffset : TByteOffset); cdecl;
- procedure BorDebugSymbolLABEL32
- ( BorDebHandle : TBorDebHandle;
- SymOffset : TFileOffset;
- var Offset : TSegmentOffset;
- var Segment : TSegmentIndex;
- var NearFar : TNearFar;
- var NameIndex : TNameIndex); cdecl;
- procedure BorDebugSymbolENTRY32
- ( BorDebHandle : TBorDebHandle;
- SymOffset : TFileOffset;
- var Offset : TSegmentOffset;
- var Segment : TSegmentIndex); cdecl;
- function BorDebugSymbolOPTVAR32
- ( BorDebHandle : TBorDebHandle;
- SymOffset : TFileOffset;
- MaxEntries : TItemCount;
- StartEntries : PSegmentOffsets;
- LengthEntries : PByteCounts;
- RegNameEntries : PRegNameIndices)
- : TItemCount; cdecl;
- procedure BorDebugSymbolPROCRET32
- ( BorDebHandle : TBorDebHandle;
- SymOffset : TFileOffset;
- var Offset : TSegmentOffset;
- var Length : TByteCount); cdecl;
- procedure BorDebugSymbolSAVREGS32
- ( BorDebHandle : TBorDebHandle;
- SymOffset : TFileOffset;
- var Mask : TSaveRegs;
- var EBPOffset : TEBPOffset); cdecl;
- function BorDebugSymbolSLINK32
- ( BorDebHandle : TBorDebHandle;
- SymOffset : TFileOffset): TEBPOffset; cdecl;
- procedure BorDebugSrcModule
- ( BorDebHandle : TBorDebHandle;
- Offset : TFileOffset;
- var RangeCount : TItemCount;
- var SourceCount : TItemCount); cdecl;
- procedure BorDebugSrcModuleRanges
- ( BorDebHandle : TBorDebHandle;
- Offset : TFileOffset;
- Segments : PSegmentIndices;
- SegmentStarts : PSegmentOffsets;
- SegmentEnds : PSegmentOffsets); cdecl;
- procedure BorDebugSrcModuleSources
- ( BorDebHandle : TBorDebHandle;
- Offset : TFileOffset;
- SourceOffsets : PFileOffsets;
- Names : PNameIndices;
- RangeCounts : PItemCounts); cdecl;
- procedure BorDebugSrcModuleSourceRanges
- ( BorDebHandle : TBorDebHandle;
- Offset : TFileOffset;
- Source : TSourceFileIndex;
- Segments : PSegmentIndices;
- SegmentStarts : PSegmentOffsets;
- SegmentEnds : PSegmentOffsets;
- LineNumberCounts : PItemCounts); cdecl;
- procedure BorDebugSrcModuleLineNumbers
- ( BorDebHandle : TBorDebHandle;
- Offset : TFileOffset;
- Source : TSourceFileIndex;
- Range : TRangeIndex;
- LineNumbers : PLineNumbers;
- LineOffsets : PSegmentOffsets); cdecl;
- procedure BorDebugGlobalSym
- ( BorDebHandle : TBorDebHandle;
- Offset : TFileOffset;
- var SymHashFunction : TNameIndex;
- var AddrHashFunction : TNameIndex;
- var SymTableBytes : TByteCount;
- var SymHashTableBytes : TByteCount;
- var AddrHashTableBytes : TByteCount;
- var TotalUDTs : TItemCount;
- var TotalOtherSyms : TItemCount;
- var TotalSymbols : TItemCount;
- var TotalNameSpaces : TItemCount); cdecl;
- procedure BorDebugGlobalTypes
- ( BorDebHandle : TBorDebHandle;
- var Signature : TSignature;
- var TotalTypes : TItemCount); cdecl;
- procedure BorDebugTypeFromIndex
- ( BorDebHandle : TBorDebHandle;
- TypeIndex : TTypeIndex;
- var TypeOffset : TFileOffset;
- var Length : TByteCount;
- var TypeKind : TTypeKind); cdecl;
- procedure BorDebugTypeFromOffset
- ( BorDebHandle : TBorDebHandle;
- TypeOffset : TFileOffset;
- var Length : TByteCount;
- var TypeKind : TTypeKind); cdecl;
- procedure BorDebugTypeMODIFIER
- ( BorDebHandle : TBorDebHandle;
- TypeOffset : TFileOffset;
- var Attributes : TTypeModifierAttr;
- var TypeIndex : TTypeIndex); cdecl;
- procedure BorDebugTypePOINTER
- ( BorDebHandle : TBorDebHandle;
- TypeOffset : TFileOffset;
- var Attributes : TTypePointerAttr;
- var TypeIndex : TTypeIndex;
- var Value1 : TTypePointerValue1;
- var Value2 : TTypePointerValue2); cdecl;
- procedure BorDebugTypeARRAY
- ( BorDebHandle : TBorDebHandle;
- TypeOffset : TFileOffset;
- var ElementType : TTypeIndex;
- var IndexType : TTypeIndex;
- var NameIndex : TNameIndex;
- var Size : TByteCount;
- var Elements : TItemCount); cdecl;
- procedure BorDebugTypeCLASS
- ( BorDebHandle : TBorDebHandle;
- TypeOffset : TFileOffset;
- var FieldCount : TItemCount;
- var FieldList : TTypeIndex;
- var ClassFlags : TClassFlags;
- var ContainingClass : TTypeIndex;
- var DerivationList : TTypeIndex;
- var Vtable : TTypeIndex;
- var NameIndex : TNameIndex;
- var ClassSize : TByteCount); cdecl;
- procedure BorDebugTypeUNION
- ( BorDebHandle : TBorDebHandle;
- TypeOffset : TFileOffset;
- var FieldCount : TItemCount;
- var FieldList : TTypeIndex;
- var ClassFlags : TClassFlags;
- var ContainingClass : TTypeIndex;
- var NameIndex : TNameIndex;
- var ClassSize : TByteCount); cdecl;
- procedure BorDebugTypeENUM
- ( BorDebHandle : TBorDebHandle;
- TypeOffset : TFileOffset;
- var MemberCount : TItemCount;
- var UnderlyingType : TTypeIndex;
- var MemberList : TTypeIndex;
- var ContainingClass : TTypeIndex;
- var NameIndex : TNameIndex); cdecl;
- procedure BorDebugTypePROCEDURE
- ( BorDebHandle : TBorDebHandle;
- TypeOffset : TFileOffset;
- var ReturnType : TTypeIndex;
- var CallingConvention : TCallingConvention;
- var ArgCount : TItemCount;
- var ArgList : TTypeIndex); cdecl;
- procedure BorDebugTypeMFUNCTION
- ( BorDebHandle : TBorDebHandle;
- TypeOffset : TFileOffset;
- var ReturnType : TTypeIndex;
- var ClassType : TTypeIndex;
- var ThisType : TTypeIndex;
- var CallingConvention : TCallingConvention;
- var ArgCount : TItemCount;
- var ArgList : TTypeIndex;
- var ThisAdjust : TSegmentOffset {?}); cdecl;
- function BorDebugTypeVTSHAPE
- ( BorDebHandle : TBorDebHandle;
- TypeOffset : TFileOffset;
- MaxCount : TItemCount;
- DescriptorArray : PVtblShapeDescriptors)
- : TItemCount; cdecl;
- function BorDebugTypeLABEL
- ( BorDebHandle : TBorDebHandle;
- TypeOffset : TFileOffset)
- : TNearFar; cdecl;
- procedure BorDebugTypeSET
- ( BorDebHandle : TBorDebHandle;
- TypeOffset : TFileOffset;
- var ElemType : TTypeIndex;
- var NameIndex : TNameIndex;
- var LowByte : DWORD;
- var Length : TItemCount); cdecl;
- procedure BorDebugTypeSUBRANGE
- ( BorDebHandle : TBorDebHandle;
- TypeOffset : TFileOffset;
- var BaseType : TTypeIndex;
- var NameIndex : TNameIndex;
- var LoBound : DWORD;
- var HiBound : DWORD;
- var Size : TByteCount); cdecl;
- procedure BorDebugTypePARRAY
- ( BorDebHandle : TBorDebHandle;
- TypeOffset : TFileOffset;
- var ElementType : TTypeIndex;
- var IndexType : TTypeIndex;
- var NameIndex : TNameIndex;
- var Size : TByteCount;
- var Elements : TItemCount); cdecl;
- procedure BorDebugTypePSTRING
- ( BorDebHandle : TBorDebHandle;
- TypeOffset : TFileOffset;
- var ElemType : TTypeIndex;
- var IndexType : TTypeIndex;
- var NameIndex : TNameIndex); cdecl;
- procedure BorDebugTypeCLOSURE
- ( BorDebHandle : TBorDebHandle;
- TypeOffset : TFileOffset;
- var ReturnType : TTypeIndex;
- var CallingConvention : TCallingConvention;
- var ArgCount : TItemCount;
- var ArgList : TTypeIndex); cdecl;
- procedure BorDebugTypePROPERTY
- ( BorDebHandle : TBorDebHandle;
- TypeOffset : TFileOffset;
- var TypeIndex : TTypeIndex;
- var Flags : TPropertyFlags;
- var ArrayIndex : TTypeIndex;
- var PropIndex : TPropertyIndex;
- var ReadSlot : TPropertySlot;
- var WriteSlot : TPropertySlot); cdecl;
- function BorDebugTypeLSTRING
- ( BorDebHandle : TBorDebHandle;
- TypeOffset : TFileOffset)
- : TNameIndex; cdecl;
- function BorDebugTypeVARIANT
- ( BorDebHandle : TBorDebHandle;
- TypeOffset : TFileOffset)
- : TNameIndex; cdecl;
- procedure BorDebugTypeCLASSREF
- ( BorDebHandle : TBorDebHandle;
- TypeOffset : TFileOffset;
- var RefType : TTypeIndex;
- var VtShape : TTypeIndex); cdecl;
- function BorDebugTypeWSTRING
- ( BorDebHandle : TBorDebHandle;
- TypeOffset : TFileOffset)
- : TNameIndex; cdecl;
- function BorDebugTypeARGLIST
- ( BorDebHandle : TBorDebHandle;
- TypeOffset : TFileOffset;
- MaxTypes : TItemCount;
- TypeArray : PTypeIndices)
- : TItemCount; cdecl;
- procedure BorDebugTypeStartFIELDLIST
- ( BorDebHandle : TBorDebHandle;
- TypeOffset : TFileOffset); cdecl;
- procedure BorDebugTypeNextFIELDLIST
- ( BorDebHandle : TBorDebHandle;
- var Kind : TTypeKind;
- var Offset : TFileOffset); cdecl;
- function BorDebugTypeDERIVED
- ( BorDebHandle : TBorDebHandle;
- TypeOffset : TFileOffset;
- MaxTypes : TItemCount;
- DerivedTypes : PTypeIndices)
- : TItemCount; cdecl;
- procedure BorDebugTypeBITFIELD
- ( BorDebHandle : TBorDebHandle;
- TypeOffset : TFileOffset;
- var Length : TBitCount;
- var Position : TBitPosition;
- var TypeIndex : TTypeIndex); cdecl;
- function BorDebugTypeMETHODLIST
- ( BorDebHandle : TBorDebHandle;
- TypeOffset : TFileOffset;
- MaxMethods : TItemCount;
- TypeArray : PTypeIndices;
- AttribArray : PClassMemberAttribs;
- BrowserArray : PFileOffsets;
- VtabOffArray : PVtabOffsets)
- : TItemCount; cdecl;
- procedure BorDebugTypeBCLASS
- ( BorDebHandle : TBorDebHandle;
- TypeOffset : TFileOffset;
- var BaseType : TTypeIndex;
- var Attrib : TClassMemberAttrib;
- var Offset : TVtabOffset); cdecl;
- procedure BorDebugTypeVBCLASS
- ( BorDebHandle : TBorDebHandle;
- TypeOffset : TFileOffset;
- var vbType : TTypeIndex;
- var vbpType : TTypeIndex;
- var Attrib : TClassMemberAttrib;
- var VbpOffset : TVtabOffset;
- var Offset : TVtabOffset); cdecl;
- procedure BorDebugTypeIVBCLASS
- ( BorDebHandle : TBorDebHandle;
- TypeOffset : TFileOffset;
- var vbType : TTypeIndex;
- var vbpType : TTypeIndex;
- var Attrib : TClassMemberAttrib;
- var VbpOffset : TVtabOffset;
- var Offset : TVtabOffset); cdecl;
- procedure BorDebugTypeENUMERATE
- ( BorDebHandle : TBorDebHandle;
- TypeOffset : TFileOffset;
- var Attrib : DWORD;
- var NameIndex : TNameIndex;
- var BrowserOffset : TFileOffset;
- var Value : DWORD); cdecl;
- procedure BorDebugTypeFRIENDFCN
- ( BorDebHandle : TBorDebHandle;
- TypeOffset : TFileOffset;
- var TypeIndex : TTypeIndex;
- var NameIndex : TNameIndex); cdecl;
- function BorDebugTypeINDEX
- ( BorDebHandle : TBorDebHandle;
- TypeOffset : TFileOffset)
- : TTypeIndex; cdecl;
- procedure BorDebugTypeMEMBER
- ( BorDebHandle : TBorDebHandle;
- TypeOffset : TFileOffset;
- var TypeIndex : TTypeIndex;
- var Attrib : TClassMemberAttrib;
- var NameIndex : TNameIndex;
- var Offset : TInstanceOffset;
- var BrowserOffset : TFileOffset); cdecl;
- procedure BorDebugTypeSTMEMBER
- ( BorDebHandle : TBorDebHandle;
- TypeOffset : TFileOffset;
- var TypeIndex : TTypeIndex;
- var Attrib : TClassMemberAttrib;
- var NameIndex : TNameIndex;
- var BrowserOffset : TFileOffset); cdecl;
- procedure BorDebugTypeMETHOD
- ( BorDebHandle : TBorDebHandle;
- TypeOffset : TFileOffset;
- var OverloadedCount : TItemCount;
- var MethodList : TTypeIndex;
- var NameIndex : TNameIndex); cdecl;
- procedure BorDebugTypeNESTTYPE
- ( BorDebHandle : TBorDebHandle;
- TypeOffset : TFileOffset;
- var TypeIndex : TTypeIndex;
- var NameIndex : TNameIndex;
- var BrowserOffset : TFileOffset); cdecl;
- procedure BorDebugTypeVFUNCTAB
- ( BorDebHandle : TBorDebHandle;
- TypeOffset : TFileOffset;
- var TypeIndex : TTypeIndex;
- var Offset : TVtabOffset); cdecl;
- function BorDebugTypeFRIENDCLS
- ( BorDebHandle : TBorDebHandle;
- TypeOffset : TFileOffset)
- : TTypeIndex; cdecl;
- function BorDebugTypeCHAR
- ( BorDebHandle : TBorDebHandle;
- TypeOffset : TFileOffset)
- : Char; cdecl;
- function BorDebugTypeSHORT
- ( BorDebHandle : TBorDebHandle;
- TypeOffset : TFileOffset)
- : SmallInt;cdecl;
- function BorDebugTypeUSHORT
- ( BorDebHandle : TBorDebHandle;
- TypeOffset : TFileOffset)
- : DWORD; cdecl;
- function BorDebugTypeLONG
- ( BorDebHandle : TBorDebHandle;
- TypeOffset : TFileOffset)
- : LongInt; cdecl;
- function BorDebugTypeULONG
- ( BorDebHandle : TBorDebHandle;
- TypeOffset : TFileOffset)
- : DWORD; cdecl;
- function BorDebugTypeREAL32
- ( BorDebHandle : TBorDebHandle;
- TypeOffset : TFileOffset)
- : Single; cdecl;
- function BorDebugTypeREAL64
- ( BorDebHandle : TBorDebHandle;
- TypeOffset : TFileOffset)
- : Double; cdecl;
- function BorDebugTypeREAL80
- ( BorDebHandle : TBorDebHandle;
- TypeOffset : TFileOffset)
- : Extended;cdecl;
- function BorDebugTypeQUADWORD
- ( BorDebHandle : TBorDebHandle;
- TypeOffset : TFileOffset)
- : QUADWORD;cdecl;
- function BorDebugTypeUQUADWORD
- ( BorDebHandle : TBorDebHandle;
- TypeOffset : TFileOffset)
- : UQUADWORD;cdecl;
- function BorDebugTypeREAL48
- ( BorDebHandle : TBorDebHandle;
- TypeOffset : TFileOffset)
- : TREAL48; cdecl;
- function BorDebugNamesTotalNames
- ( BorDebHandle : TBorDebHandle)
- : TItemCount; cdecl;
- procedure BorDebugNameIndexToUnmangledName
- ( BorDebHandle : TBorDebHandle;
- NameIndex : TNameIndex;
- Buf : PChar;
- BufLen : TByteCount); cdecl;
- procedure BorDebugNameIndexToName
- ( BorDebHandle : TBorDebHandle;
- NameIndex : TNameIndex;
- Buf : PChar;
- BufLen : TByteCount); cdecl;
- procedure BorDebugRegIndexToName
- ( BorDebHandle : TBorDebHandle;
- Reg : TRegNameIndex;
- Buf : PChar;
- BufLen : TByteCount); cdecl;
- procedure BorDebugTypeIndexToString
- ( BorDebHandle : TBorDebHandle;
- TypeIndex : TTypeIndex;
- Buf : PChar;
- BufLen : TByteCount); cdecl;
- function BorDebugUnmangle
- ( Src : PChar;
- Dest : PChar;
- MaxLen : TByteCount;
- QualP : PChar; // or nil
- BaseP : PChar; // or nil
- DoArgs : LongBool)
- : TBorDebugUmKind; cdecl;
- {$ENDIF}
-
- implementation
-
- {$IFDEF BORDEB_EXTRAS}
- // Extra nice-to have functionality:
- {$IFDEF VER90}
- const
- {$ELSE}
- resourcestring
- {$ENDIF}
- SBorDebErrorOk = 'Ok';
- SBorDebErrorUnknownExt = 'Extension not recognized';
- SBorDebErrorCannotOpen = 'Cannot open the file';
- SBorDebErrorNoDebugInfo = 'No debug info in the file';
- SBorDebErrorErrorReading = 'Failures while reading from the file';
- SBorDebErrorOutOfMemory = 'Out of memory';
- SBorDebErrorUknown = 'Unknown error: %d';
-
- function BorDebErrorToString(BorDebError: TBorDebError): string;
- begin
- case BorDebError of
- deOk : Result := SBorDebErrorOk ;
- deUnknownExt : Result := SBorDebErrorUnknownExt ;
- deCannotOpen : Result := SBorDebErrorCannotOpen ;
- deNoDebugInfo : Result := SBorDebErrorNoDebugInfo ;
- deErrorReading : Result := SBorDebErrorErrorReading ;
- deOutOfMemory : Result := SBorDebErrorOutOfMemory ;
- else Result := Format(SBorDebErrorUknown, [Ord(BorDebError)]);
- end;
- end;
-
- constructor EBorDebugError.CreateFromError(BorDebError: TBorDebError);
- begin
- inherited Create(BorDebErrorToString(BorDebError));
- Self.BorDebError := BorDebError
- end;
-
- function CheckBorDebHandleAndError(
- BorDebHandle: TBorDebHandle;
- BorDebError : TBorDebError)
- : TBorDebHandle;
- begin
- if (BorDebHandle = InvalidBorDebHandle) or (BorDebError <> deOk) then
- raise EBorDebugError.CreateFromError(BorDebError);
- Result := BorDebHandle;
- end;
-
- // Throws exception if something goes wrong:
-
- function BorDebugRegisterFileEx
- (const FileName : string;
- SkipNames : LongBool;
- CacheNames : LongBool;
- TryTDSFile : boolean) : TBorDebHandle;
- var
- BorDebError: TBorDebError;
- TDSBorDebError: TBorDebError;
- TDSFileName: string;
- begin
- Result := BorDebugRegisterFile(PChar(FileName), SkipNames, CacheNames, BorDebError);
- if (BorDebError in [deUnknownExt, deCannotOpen, deNoDebugInfo]) and TryTDSFile then
- begin
- TDSFileName := ChangeFileExt(FileName, '.TDS');
- Result := BorDebugRegisterFile(PChar(TDSFileName), SkipNames, CacheNames, TDSBorDebError);
- end;
- Result := CheckBorDebHandleAndError(Result, BorDebError);
- end;
-
- function CrackCompilerSymbolFlags(const Flags: TCompileSymbolFlags): TCrackedCompileSymbolFlags;
- begin
- with Result do
- begin
- PCodePresent := boolean ((Flags and $0001) shr 0); // : 0
- FloatPrecision := TFloatPrecision((Flags and $0006) shr 1); // : 1-2
- FloatPackage := TFloatPackage ((Flags and $0018) shr 3); // : 3-4
- AmbientData := TAmbientAttr ((Flags and $00E0) shr 5); // : 5-7
- AmbientCode := TAmbientAttr ((Flags and $0700) shr 8); // : 8-10
- Mode32 := boolean ((Flags and $0800) shr 11); // : 11
- CharIsSigned := boolean ((Flags and $1000) shr 12); // : 12
- Reserverd := ((Flags and DWORD($FFFFE000)) shr 13); // : :13-31
- end;
- end;
-
- function CrackClassMemberAttrib(const Attrib: TClassMemberAttrib): TCrackedClassMemberAttrib;
- begin
- with Result do
- begin
- ClassMemberProtection := TClassMemberProtection((Attrib and $0003) shr 0); // :0-1
- ClassMemberProperty := TClassMemberProperty ((Attrib and $001C) shr 2); // :2-4
- Reserved := ((Attrib and DWORD($FFFFFFE0)) shr 5); // :5-31
- end;
- end;
-
- function CrackTypePointerAttr(const Attrib: TTypePointerAttr): TCrackedTypePointerAttr;
- begin
- with Result do
- begin
- TypeModifier := TPointerTypeModifier((Attrib and $000F) shr 0); // :0-4
- Mode := TPointerMode ((Attrib and $0070) shr 5); // :5-7
- IsFlat32 := boolean ((Attrib and $0080) shr 8); // :8
- IsVolatile := boolean ((Attrib and $0100) shr 9); // :9
- IsConst := boolean ((Attrib and $0200) shr 10); // :10
- Reserved := ((Attrib and DWORD($FFFFFC00)) shr 11); // :11-31
- end;
- end;
- {$ENDIF BORDEB_EXTRAS}
-
- const
- BorDebugName = 'BORDEBUG.DLL';
-
- {$IFDEF DYNLINK_BORDEBUG}
- var
- Entries : array[1..103] of HVDll.TEntry =
- ((Proc: @@BorDebugRegisterFile; Name: '_BorDebugRegisterFile'),
- (Proc: @@BorDebugUnregisterFile; Name: '_BorDebugUnregisterFile'),
- (Proc: @@BorDebugSubSectionDirOffset; Name: '_BorDebugSubSectionDirOffset'),
- (Proc: @@BorDebugSubSectionCount; Name: '_BorDebugSubSectionCount'),
- (Proc: @@BorDebugSubSection; Name: '_BorDebugSubSection'),
- (Proc: @@BorDebugModule; Name: '_BorDebugModule'),
- (Proc: @@BorDebugModuleSegment; Name: '_BorDebugModuleSegment'),
- (Proc: @@BorDebugStartSymbols; Name: '_BorDebugStartSymbols'),
- (Proc: @@BorDebugNextSymbol; Name: '_BorDebugNextSymbol'),
- (Proc: @@BorDebugDumpBrowserInfo; Name: '_BorDebugDumpBrowserInfo'),
- (Proc: @@BorDebugSymbolCOMPILE; Name: '_BorDebugSymbolCOMPILE'),
- (Proc: @@BorDebugSymbolREGISTER; Name: '_BorDebugSymbolREGISTER'),
- (Proc: @@BorDebugSymbolCONST; Name: '_BorDebugSymbolCONST'),
- (Proc: @@BorDebugSymbolUDT; Name: '_BorDebugSymbolUDT'),
- (Proc: @@BorDebugSymbolSSEARCH; Name: '_BorDebugSymbolSSEARCH'),
- (Proc: @@BorDebugSymbolOBJNAME; Name: '_BorDebugSymbolOBJNAME'),
- (Proc: @@BorDebugSymbolGPROCREF; Name: '_BorDebugSymbolGPROCREF'),
- (Proc: @@BorDebugSymbolGDATAREF; Name: '_BorDebugSymbolGDATAREF'),
- (Proc: @@BorDebugSymbolEDATA; Name: '_BorDebugSymbolEDATA'),
- (Proc: @@BorDebugSymbolEPROC; Name: '_BorDebugSymbolEPROC'),
- (Proc: @@BorDebugSymbolUSES; Name: '_BorDebugSymbolUSES'),
- (Proc: @@BorDebugSymbolNAMESPACE; Name: '_BorDebugSymbolNAMESPACE'),
- (Proc: @@BorDebugSymbolUSING; Name: '_BorDebugSymbolUSING'),
- (Proc: @@BorDebugSymbolPCONSTANT; Name: '_BorDebugSymbolPCONSTANT'),
- (Proc: @@BorDebugSymbolBPREL32; Name: '_BorDebugSymbolBPREL32'),
- (Proc: @@BorDebugSymbolLDATA32; Name: '_BorDebugSymbolLDATA32'),
- (Proc: @@BorDebugSymbolGDATA32; Name: '_BorDebugSymbolGDATA32'),
- (Proc: @@BorDebugSymbolPUB32; Name: '_BorDebugSymbolPUB32'),
- (Proc: @@BorDebugSymbolLPROC32; Name: '_BorDebugSymbolLPROC32'),
- (Proc: @@BorDebugSymbolGPROC32; Name: '_BorDebugSymbolGPROC32'),
- (Proc: @@BorDebugSymbolTHUNK32; Name: '_BorDebugSymbolTHUNK32'),
- (Proc: @@BorDebugSymbolBLOCK32; Name: '_BorDebugSymbolBLOCK32'),
- (Proc: @@BorDebugSymbolWITH32; Name: '_BorDebugSymbolWITH32'),
- (Proc: @@BorDebugSymbolLABEL32; Name: '_BorDebugSymbolLABEL32'),
- (Proc: @@BorDebugSymbolENTRY32; Name: '_BorDebugSymbolENTRY32'),
- (Proc: @@BorDebugSymbolOPTVAR32; Name: '_BorDebugSymbolOPTVAR32'),
- (Proc: @@BorDebugSymbolPROCRET32; Name: '_BorDebugSymbolPROCRET32'),
- (Proc: @@BorDebugSymbolSAVREGS32; Name: '_BorDebugSymbolSAVREGS32'),
- (Proc: @@BorDebugSymbolSLINK32; Name: '_BorDebugSymbolSLINK32'),
- (Proc: @@BorDebugSrcModule; Name: '_BorDebugSrcModule'),
- (Proc: @@BorDebugSrcModuleRanges; Name: '_BorDebugSrcModuleRanges'),
- (Proc: @@BorDebugSrcModuleSources; Name: '_BorDebugSrcModuleSources'),
- (Proc: @@BorDebugSrcModuleSourceRanges; Name: '_BorDebugSrcModuleSourceRanges'),
- (Proc: @@BorDebugSrcModuleLineNumbers; Name: '_BorDebugSrcModuleLineNumbers'),
- (Proc: @@BorDebugGlobalSym; Name: '_BorDebugGlobalSym'),
- (Proc: @@BorDebugGlobalTypes; Name: '_BorDebugGlobalTypes'),
- (Proc: @@BorDebugTypeFromIndex; Name: '_BorDebugTypeFromIndex'),
- (Proc: @@BorDebugTypeFromOffset; Name: '_BorDebugTypeFromOffset'),
- (Proc: @@BorDebugTypeMODIFIER; Name: '_BorDebugTypeMODIFIER'),
- (Proc: @@BorDebugTypePOINTER; Name: '_BorDebugTypePOINTER'),
- (Proc: @@BorDebugTypeARRAY; Name: '_BorDebugTypeARRAY'),
- (Proc: @@BorDebugTypeCLASS; Name: '_BorDebugTypeCLASS'),
- (Proc: @@BorDebugTypeUNION; Name: '_BorDebugTypeUNION'),
- (Proc: @@BorDebugTypeENUM; Name: '_BorDebugTypeENUM'),
- (Proc: @@BorDebugTypePROCEDURE; Name: '_BorDebugTypePROCEDURE'),
- (Proc: @@BorDebugTypeMFUNCTION; Name: '_BorDebugTypeMFUNCTION'),
- (Proc: @@BorDebugTypeVTSHAPE; Name: '_BorDebugTypeVTSHAPE'),
- (Proc: @@BorDebugTypeLABEL; Name: '_BorDebugTypeLABEL'),
- (Proc: @@BorDebugTypeSET; Name: '_BorDebugTypeSET'),
- (Proc: @@BorDebugTypeSUBRANGE; Name: '_BorDebugTypeSUBRANGE'),
- (Proc: @@BorDebugTypePARRAY; Name: '_BorDebugTypePARRAY'),
- (Proc: @@BorDebugTypePSTRING; Name: '_BorDebugTypePSTRING'),
- (Proc: @@BorDebugTypeCLOSURE; Name: '_BorDebugTypeCLOSURE'),
- (Proc: @@BorDebugTypePROPERTY; Name: '_BorDebugTypePROPERTY'),
- (Proc: @@BorDebugTypeLSTRING; Name: '_BorDebugTypeLSTRING'),
- (Proc: @@BorDebugTypeVARIANT; Name: '_BorDebugTypeVARIANT'),
- (Proc: @@BorDebugTypeCLASSREF; Name: '_BorDebugTypeCLASSREF'),
- (Proc: @@BorDebugTypeWSTRING; Name: '_BorDebugTypeWSTRING'),
- (Proc: @@BorDebugTypeARGLIST; Name: '_BorDebugTypeARGLIST'),
- (Proc: @@BorDebugTypeStartFIELDLIST; Name: '_BorDebugTypeStartFIELDLIST'),
- (Proc: @@BorDebugTypeNextFIELDLIST; Name: '_BorDebugTypeNextFIELDLIST'),
- (Proc: @@BorDebugTypeDERIVED; Name: '_BorDebugTypeDERIVED'),
- (Proc: @@BorDebugTypeBITFIELD; Name: '_BorDebugTypeBITFIELD'),
- (Proc: @@BorDebugTypeMETHODLIST; Name: '_BorDebugTypeMETHODLIST'),
- (Proc: @@BorDebugTypeBCLASS; Name: '_BorDebugTypeBCLASS'),
- (Proc: @@BorDebugTypeVBCLASS; Name: '_BorDebugTypeVBCLASS'),
- (Proc: @@BorDebugTypeIVBCLASS; Name: '_BorDebugTypeIVBCLASS'),
- (Proc: @@BorDebugTypeENUMERATE; Name: '_BorDebugTypeENUMERATE'),
- (Proc: @@BorDebugTypeFRIENDFCN; Name: '_BorDebugTypeFRIENDFCN'),
- (Proc: @@BorDebugTypeINDEX; Name: '_BorDebugTypeINDEX'),
- (Proc: @@BorDebugTypeMEMBER; Name: '_BorDebugTypeMEMBER'),
- (Proc: @@BorDebugTypeSTMEMBER; Name: '_BorDebugTypeSTMEMBER'),
- (Proc: @@BorDebugTypeMETHOD; Name: '_BorDebugTypeMETHOD'),
- (Proc: @@BorDebugTypeNESTTYPE; Name: '_BorDebugTypeNESTTYPE'),
- (Proc: @@BorDebugTypeVFUNCTAB; Name: '_BorDebugTypeVFUNCTAB'),
- (Proc: @@BorDebugTypeFRIENDCLS; Name: '_BorDebugTypeFRIENDCLS'),
- (Proc: @@BorDebugTypeCHAR; Name: '_BorDebugTypeCHAR'),
- (Proc: @@BorDebugTypeSHORT; Name: '_BorDebugTypeSHORT'),
- (Proc: @@BorDebugTypeUSHORT; Name: '_BorDebugTypeUSHORT'),
- (Proc: @@BorDebugTypeLONG; Name: '_BorDebugTypeLONG'),
- (Proc: @@BorDebugTypeULONG; Name: '_BorDebugTypeULONG'),
- (Proc: @@BorDebugTypeREAL32; Name: '_BorDebugTypeREAL32'),
- (Proc: @@BorDebugTypeREAL64; Name: '_BorDebugTypeREAL64'),
- (Proc: @@BorDebugTypeREAL80; Name: '_BorDebugTypeREAL80'),
- (Proc: @@BorDebugTypeQUADWORD; Name: '_BorDebugTypeQUADWORD'),
- (Proc: @@BorDebugTypeUQUADWORD; Name: '_BorDebugTypeUQUADWORD'),
- (Proc: @@BorDebugTypeREAL48; Name: '_BorDebugTypeREAL48'),
- (Proc: @@BorDebugNamesTotalNames; Name: '_BorDebugNamesTotalNames'),
- (Proc: @@BorDebugNameIndexToUnmangledName; Name: '_BorDebugNameIndexToUnmangledName'),
- (Proc: @@BorDebugNameIndexToName; Name: '_BorDebugNameIndexToName'),
- (Proc: @@BorDebugRegIndexToName; Name: '_BorDebugRegIndexToName'),
- (Proc: @@BorDebugTypeIndexToString; Name: '_BorDebugTypeIndexToString'),
- (Proc: @@BorDebugUnmangle; Name: '_BorDebugUnmangle'));
-
- initialization
- BorDebugDLL := TDll.Create(BorDebugName, Entries);
- {$ELSE}
- function BorDebugRegisterFile; external BorDebugName name '_BorDebugRegisterFile';
- procedure BorDebugUnregisterFile; external BorDebugName name '_BorDebugUnregisterFile';
- function BorDebugSubSectionDirOffset; external BorDebugName name '_BorDebugSubSectionDirOffset';
- function BorDebugSubSectionCount; external BorDebugName name '_BorDebugSubSectionCount';
- procedure BorDebugSubSection; external BorDebugName name '_BorDebugSubSection';
- procedure BorDebugModule; external BorDebugName name '_BorDebugModule';
- procedure BorDebugModuleSegment; external BorDebugName name '_BorDebugModuleSegment';
- procedure BorDebugStartSymbols; external BorDebugName name '_BorDebugStartSymbols';
- procedure BorDebugNextSymbol; external BorDebugName name '_BorDebugNextSymbol';
- procedure BorDebugDumpBrowserInfo; external BorDebugName name '_BorDebugDumpBrowserInfo';
- procedure BorDebugSymbolCOMPILE; external BorDebugName name '_BorDebugSymbolCOMPILE';
- procedure BorDebugSymbolREGISTER; external BorDebugName name '_BorDebugSymbolREGISTER';
- procedure BorDebugSymbolCONST; external BorDebugName name '_BorDebugSymbolCONST';
- procedure BorDebugSymbolUDT; external BorDebugName name '_BorDebugSymbolUDT';
- procedure BorDebugSymbolSSEARCH; external BorDebugName name '_BorDebugSymbolSSEARCH';
- procedure BorDebugSymbolOBJNAME; external BorDebugName name '_BorDebugSymbolOBJNAME';
- procedure BorDebugSymbolGPROCREF; external BorDebugName name '_BorDebugSymbolGPROCREF';
- procedure BorDebugSymbolGDATAREF; external BorDebugName name '_BorDebugSymbolGDATAREF';
- procedure BorDebugSymbolEDATA; external BorDebugName name '_BorDebugSymbolEDATA';
- procedure BorDebugSymbolEPROC; external BorDebugName name '_BorDebugSymbolEPROC';
- function BorDebugSymbolUSES; external BorDebugName name '_BorDebugSymbolUSES';
- function BorDebugSymbolNAMESPACE; external BorDebugName name '_BorDebugSymbolNAMESPACE';
- function BorDebugSymbolUSING; external BorDebugName name '_BorDebugSymbolUSING';
- function BorDebugSymbolPCONSTANT; external BorDebugName name '_BorDebugSymbolPCONSTANT';
- procedure BorDebugSymbolBPREL32; external BorDebugName name '_BorDebugSymbolBPREL32';
- procedure BorDebugSymbolLDATA32; external BorDebugName name '_BorDebugSymbolLDATA32';
- procedure BorDebugSymbolGDATA32; external BorDebugName name '_BorDebugSymbolGDATA32';
- procedure BorDebugSymbolPUB32; external BorDebugName name '_BorDebugSymbolPUB32';
- procedure BorDebugSymbolLPROC32; external BorDebugName name '_BorDebugSymbolLPROC32';
- function BorDebugSymbolGPROC32; external BorDebugName name '_BorDebugSymbolGPROC32';
- procedure BorDebugSymbolTHUNK32; external BorDebugName name '_BorDebugSymbolTHUNK32';
- procedure BorDebugSymbolBLOCK32; external BorDebugName name '_BorDebugSymbolBLOCK32';
- procedure BorDebugSymbolWITH32; external BorDebugName name '_BorDebugSymbolWITH32';
- procedure BorDebugSymbolLABEL32; external BorDebugName name '_BorDebugSymbolLABEL32';
- procedure BorDebugSymbolENTRY32; external BorDebugName name '_BorDebugSymbolENTRY32';
- function BorDebugSymbolOPTVAR32; external BorDebugName name '_BorDebugSymbolOPTVAR32';
- procedure BorDebugSymbolPROCRET32; external BorDebugName name '_BorDebugSymbolPROCRET32';
- procedure BorDebugSymbolSAVREGS32; external BorDebugName name '_BorDebugSymbolSAVREGS32';
- function BorDebugSymbolSLINK32; external BorDebugName name '_BorDebugSymbolSLINK32';
- procedure BorDebugSrcModule; external BorDebugName name '_BorDebugSrcModule';
- procedure BorDebugSrcModuleRanges; external BorDebugName name '_BorDebugSrcModuleRanges';
- procedure BorDebugSrcModuleSources; external BorDebugName name '_BorDebugSrcModuleSources';
- procedure BorDebugSrcModuleSourceRanges; external BorDebugName name '_BorDebugSrcModuleSourceRanges';
- procedure BorDebugSrcModuleLineNumbers; external BorDebugName name '_BorDebugSrcModuleLineNumbers';
- procedure BorDebugGlobalSym; external BorDebugName name '_BorDebugGlobalSym';
- procedure BorDebugGlobalTypes; external BorDebugName name '_BorDebugGlobalTypes';
- procedure BorDebugTypeFromIndex; external BorDebugName name '_BorDebugTypeFromIndex';
- procedure BorDebugTypeFromOffset; external BorDebugName name '_BorDebugTypeFromOffset';
- procedure BorDebugTypeMODIFIER; external BorDebugName name '_BorDebugTypeMODIFIER';
- procedure BorDebugTypePOINTER; external BorDebugName name '_BorDebugTypePOINTER';
- procedure BorDebugTypeARRAY; external BorDebugName name '_BorDebugTypeARRAY';
- procedure BorDebugTypeCLASS; external BorDebugName name '_BorDebugTypeCLASS';
- procedure BorDebugTypeUNION; external BorDebugName name '_BorDebugTypeUNION';
- procedure BorDebugTypeENUM; external BorDebugName name '_BorDebugTypeENUM';
- procedure BorDebugTypePROCEDURE; external BorDebugName name '_BorDebugTypePROCEDURE';
- procedure BorDebugTypeMFUNCTION; external BorDebugName name '_BorDebugTypeMFUNCTION';
- function BorDebugTypeVTSHAPE; external BorDebugName name '_BorDebugTypeVTSHAPE';
- function BorDebugTypeLABEL; external BorDebugName name '_BorDebugTypeLABEL';
- procedure BorDebugTypeSET; external BorDebugName name '_BorDebugTypeSET';
- procedure BorDebugTypeSUBRANGE; external BorDebugName name '_BorDebugTypeSUBRANGE';
- procedure BorDebugTypePARRAY; external BorDebugName name '_BorDebugTypePARRAY';
- procedure BorDebugTypePSTRING; external BorDebugName name '_BorDebugTypePSTRING';
- procedure BorDebugTypeCLOSURE; external BorDebugName name '_BorDebugTypeCLOSURE';
- procedure BorDebugTypePROPERTY; external BorDebugName name '_BorDebugTypePROPERTY';
- function BorDebugTypeLSTRING; external BorDebugName name '_BorDebugTypeLSTRING';
- function BorDebugTypeVARIANT; external BorDebugName name '_BorDebugTypeVARIANT';
- procedure BorDebugTypeCLASSREF; external BorDebugName name '_BorDebugTypeCLASSREF';
- function BorDebugTypeWSTRING; external BorDebugName name '_BorDebugTypeWSTRING';
- function BorDebugTypeARGLIST; external BorDebugName name '_BorDebugTypeARGLIST';
- procedure BorDebugTypeStartFIELDLIST; external BorDebugName name '_BorDebugTypeStartFIELDLIST';
- procedure BorDebugTypeNextFIELDLIST; external BorDebugName name '_BorDebugTypeNextFIELDLIST';
- function BorDebugTypeDERIVED; external BorDebugName name '_BorDebugTypeDERIVED';
- procedure BorDebugTypeBITFIELD; external BorDebugName name '_BorDebugTypeBITFIELD';
- function BorDebugTypeMETHODLIST; external BorDebugName name '_BorDebugTypeMETHODLIST';
- procedure BorDebugTypeBCLASS; external BorDebugName name '_BorDebugTypeBCLASS';
- procedure BorDebugTypeVBCLASS; external BorDebugName name '_BorDebugTypeVBCLASS';
- procedure BorDebugTypeIVBCLASS; external BorDebugName name '_BorDebugTypeIVBCLASS';
- procedure BorDebugTypeENUMERATE; external BorDebugName name '_BorDebugTypeENUMERATE';
- procedure BorDebugTypeFRIENDFCN; external BorDebugName name '_BorDebugTypeFRIENDFCN';
- function BorDebugTypeINDEX; external BorDebugName name '_BorDebugTypeINDEX';
- procedure BorDebugTypeMEMBER; external BorDebugName name '_BorDebugTypeMEMBER';
- procedure BorDebugTypeSTMEMBER; external BorDebugName name '_BorDebugTypeSTMEMBER';
- procedure BorDebugTypeMETHOD; external BorDebugName name '_BorDebugTypeMETHOD';
- procedure BorDebugTypeNESTTYPE; external BorDebugName name '_BorDebugTypeNESTTYPE';
- procedure BorDebugTypeVFUNCTAB; external BorDebugName name '_BorDebugTypeVFUNCTAB';
- function BorDebugTypeFRIENDCLS; external BorDebugName name '_BorDebugTypeFRIENDCLS';
- function BorDebugTypeCHAR; external BorDebugName name '_BorDebugTypeCHAR';
- function BorDebugTypeSHORT; external BorDebugName name '_BorDebugTypeSHORT';
- function BorDebugTypeUSHORT; external BorDebugName name '_BorDebugTypeUSHORT';
- function BorDebugTypeLONG; external BorDebugName name '_BorDebugTypeLONG';
- function BorDebugTypeULONG; external BorDebugName name '_BorDebugTypeULONG';
- function BorDebugTypeREAL32; external BorDebugName name '_BorDebugTypeREAL32';
- function BorDebugTypeREAL64; external BorDebugName name '_BorDebugTypeREAL64';
- function BorDebugTypeREAL80; external BorDebugName name '_BorDebugTypeREAL80';
- function BorDebugTypeQUADWORD; external BorDebugName name '_BorDebugTypeQUADWORD';
- function BorDebugTypeUQUADWORD; external BorDebugName name '_BorDebugTypeUQUADWORD';
- function BorDebugTypeREAL48; external BorDebugName name '_BorDebugTypeREAL48';
- function BorDebugNamesTotalNames; external BorDebugName name '_BorDebugNamesTotalNames';
- procedure BorDebugNameIndexToUnmangledName; external BorDebugName name '_BorDebugNameIndexToUnmangledName';
- procedure BorDebugNameIndexToName; external BorDebugName name '_BorDebugNameIndexToName';
- procedure BorDebugRegIndexToName; external BorDebugName name '_BorDebugRegIndexToName';
- procedure BorDebugTypeIndexToString; external BorDebugName name '_BorDebugTypeIndexToString';
- function BorDebugUnmangle; external BorDebugName name '_BorDebugUnmangle';
- {$ENDIF}
-
- end.
-